Я хотел бы реализовать паттерн Layer Supertype ((PoEAA) при использовании EF 4.x.
Предположим, у меня есть класс супертипа слоя с именем Entity, от которого наследуются два класса Teacher и Student.
Класс Person определяется следующим образом
class Entity
{
public int Id {get;set;}
}
И Учитель и Студент, как это
class Teacher : Entity
{
publix string Name {get;set;}
}
class Student : Entity
{
public int Age {get;set;}
}
Как я могу настроить EF 4.x так, чтобы в моей базе данных у меня были только две таблицы, соответствующие учителям и ученикам? Я попытался использовать стратегию наследования TPC для сопоставления этой структуры, но она не подходит, она создает три таблицы по одной для каждого конкретного класса.
С NHibernate такие ситуации довольно распространены и хорошо обрабатываются. Я имею в виду, что если я создаю сопоставления только для Person и Student, в базе данных будет только две таблицы, и мне не придется явно реализовывать какую-либо стратегию наследования. 1013 *
Спасибо за все ваши советы
Риана