Entity Framework 4.1 устанавливает EntityState на производный класс, создает исключение - PullRequest
0 голосов
/ 03 ноября 2011

У меня проблема с EF 4.1. Я пытаюсь добавить отдельный объект в DbContext. Проблема в том, что это не сопоставленный с EMD объект, а производный от него. Изменение сопоставления не вариант, так как некоторые команды используют модель с обычными сопоставленными BL-классами, но мой проект создал производную модель для пользовательского интерфейса. Даже с кастингом я всегда получаю

InvalidOperationException ("Mapping and metadata information could not be found for EntityType ...").

Я хочу, чтобы EF рассматривал это как базовый класс и помещал объект в DbSet BaseClass. Текущий код EF:

Context.Entry(object).State = EntityState.Added

Но я открыт для других предложений, даже
через IObjectContextAdapter, если он может сохранить базовый и супертип. Это должно быть просто, верно ?! Сопоставление с новым экземпляром базового класса не является хорошей идеей, поскольку временный идентификатор основных объектов не будет обновлен после сохранения ...

Спасибо!

1 Ответ

0 голосов
/ 03 ноября 2011

Насколько я знаю, это невозможно.Вы не можете использовать производный класс от сущности вместо сущности.Вы должны либо сопоставить производный класс, либо создать новый экземпляр сущности для сохранения и скопировать все поля из экземпляра производного класса в экземпляр сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...