Примечание: Я думаю, что это технически все еще в первую очередь код, но у меня также есть существующая база данных, поэтому я не генерирую модели или базу данных на лету (нет .edmx).
У меня есть ситуация TPH, когда подклассы имеют специфичные для них поля.У меня есть EntityTypeConfiguration
, определенный для базового класса. Как мне сопоставить поля подкласса со столбцами в моей таблице базы данных?
public class Letter
{
public string Name { get; set; }
}
public class A : Letter
{
public int quantity { get; set; }
}
public class B : Letter
{
public ComplexType description { get; set; }
}
public class LetterMap : EntityTypeConfiguration<Letter>
{
HasKey...
}
Это EF 4.1.
Редактировать:
Я реализовал решение, предложенное Eranga ниже .Моя проблема сейчас в том, что два подкласса отображают разные значения в один и тот же столбец.(Третий подкласс вообще не заполняет столбец, поэтому я могу переместить свойство на уровень выше.)
(590,6): ошибка 0019: каждое имя свойства в типе должнобыть уникальный.Имя свойства 'Description_Title' уже определено.
Например:
B.description.title отображается в столбец "Description_Title"
, а
C.description.shortTitle сопоставляется с тем же столбцом