Entity Framework 4.1 Code First: Как определяется Дискриминатор? - PullRequest
3 голосов
/ 05 октября 2011

В настоящее время у меня есть иерархия классов, определенная с помощью подхода Code First следующим образом.

enter image description here

E.F. автоматически сгенерировал дискриминатор nvarchar (128). Это не ключевое поле.

Как Entity Framework определяет, каким и каким типом должно быть поле дискриминатора, и всегда ли оно одно и то же, то есть nvarchar ? Доступен ли дискриминатор вне базы данных, то есть от LINQ до Entity?

1 Ответ

3 голосов
/ 05 октября 2011

Столбец Discriminator по умолчанию является nvarchar, поскольку в нем хранятся имена ваших классов, которые могут различаться между типами - в этом весь смысл этого столбца: чтобы EF знал, какой экземпляр класса из вашей иерархии наследования он должен создать при загрузке записи избаза данных.

Дискриминатор не доступен для linq-to-entity.Он используется только для сопоставления записи с правильным типом.

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