Мне нужно добавить поле в модель, в базе данных которого фактически нет поля.
Потому что, во-первых, я попытался добавить поле только в класс Entity.
public partial class Weborder
{
(Auto Generated)
public int orderno {get; set;}
.
.
.
(Add Manually)
public string newField1 {get; set;} //this is new field that DB does not have
public string newField2 {get; set;} //this is new field that DB does not have
}
а затем, когда я обновляю EDXM, EDMX удаляет новые поля, потому что в базе данных нет поля.: (
Итак, я добавляю поле в модель EDMX вручную. (Добавить → Скалярное свойство)
тогда при компиляции возникает ошибка, в сообщении об ошибке говорится:
Error 1 Error 3004: Problem in mapping fragments starting at line 399:No mapping specified for properties ...
An Entity with Key (PK) will not round-trip when:...
Кто-нибудь знает, как добавить новые поля в класс сущностей?
Спасибо!
ИЗМЕНИТЬ ДЛЯ: Если ваша модель представляет собой представление вашей базы данных, а в базе данных у вас нет поля, почему вы хотите добавить ее вручную?
= >
При извлечении данных возвращаемый тип объекта является классом сущности.
и перед передачей данных из контроллера для просмотра мне нужно добавить больше данных (полей) в результат IQueryable.
ех)
public DbSet<WEBORDERLN> WEBORDERLNs { get; set; }
//repository
public IQueryable<WEBORDERLN> WebOrderLns
{
get { return context.WEBORDERLNs; }
}
и теперь я получаю данные weborderln в контроллере. и перед прохождением просмотра мне нужно
добавить дополнительные данные в результат.
var data = webOrderLnRepository.WebOrderLns.Where(e => e.PICKNO == OrderNo).ToList();
foreach (WEBORDERLN weborderln in data)
{
weborderln.[NEW FIELD] = "EXTRA DATA"; //// FOR THIS, I NEED TO ADD NEW FILED INTO ENTITY CLASS
}
//return data
Надеюсь, это может объяснить вопрос:)
Еще раз спасибо.