Я пытался сопоставить иерархию классов с конкретной таблицей, но не смог.Это источник, который я использовал в качестве объяснения: http://weblogs.asp.net/manavi/archive/2010/12/24/inheritance-mapping-strategies-with-entity-framework-code-first-ctp5-part-1-table-per-hierarchy-tph.aspx
В некоторых случаях у меня есть таблица Users:
ID | Name | Company | Discriminator
и две модели - Users со свойствами:
ID | Name
И Корпоративная сущность, которая наследует сущность Users только с одним свойством:
Company
Я создал поле «Дискриминатор» руками, и теперь нужно понять, какпроверить поле "Компания", когда я использую полиморфный запрос?Например, мне нужно получить некоторую строку из БД и проверить, установлено ли в ней поле Компании или нет ... должен ли я всегда преобразовывать все данные в конкретную сущность (например, Корпоративные), чтобы проверить, существует ли это поле?
ИЛИ
Я думал, что EF может автоматически выбирать релевантную сущность, когда определено похожее правило:
modelBuilder.Entity<Users>()
.Map<Corporates>(m => m.Requires("Discriminator")
.HasValue("Corporates"))
Но проблема в том, что всякий раз, когда я пытаюсь добавить любое правило отображения в OnModelCreatingЯ всегда получаю сообщение об ошибке, когда модель создается впервые.Может кто-нибудь сказать мне, что я делаю не так?
Заранее спасибо, Art