Я реализовал некоторое наследование типа таблицы в своей модели данных (в основном у меня есть тип BaseEntity
со всей базовой информацией для моих элементов и тип Employer
, который наследуется от элемента BaseEntity
). Кажется, все настроено правильно, и при использовании Entities (либо через службы данных ADO.net, либо через Linq to Entities) я вижу тип Employer
, и все выглядит нормально. Проблема начинается, когда я создаю новый объект Employer
и пытаюсь его сохранить.
В контексте, который не является элементом .AddToEmployer
(только и AddObject
или AddToBaseEntity
).
Если я использую AddObject("Employer", NewEmployer)
, я получаю сообщение об ошибке:
Не удалось найти имя EntitySet «DataEntities.Employer».
Если я использую AddToBaseEntity(NewEmployer)
, я получаю сообщение об ошибке:
Не удалось определить допустимый порядок зависимых операций. Зависимости могут существовать из-за ограничений внешнего ключа, требований модели или хранения сгенерированных значений.
Я пропустил шаг в настройке наследства? Есть ли какой-то особый способ сохранения объектов, которые унаследованы? Что я делаю неправильно? Я предполагаю, что основная проблема заключается в том, что у меня должен быть AddToEmployer
, что мне нужно сделать, чтобы его разоблачить? Кажется странным, что это не вариант, поскольку я вижу тип работодателя на стороне клиента и могу делать такие вещи, как:
var NewEmployer = new Employer()
- что, кажется, предполагает, что я прекрасно вижу тип работодателя.