MS EntityFramework: как разделить сущность с наследованием? - PullRequest
0 голосов
/ 21 июля 2011

У меня есть имя таблицы транзакций в БД.Я хочу иметь 2 подкласса TransactionA и TransactionB.Я сделал это, как описано здесь: http://www.robbagby.com/entity-framework/entity-framework-modeling-table-per-hierarchy-inheritance/comment-page-1/#comment-607

Поскольку я использую шаблоны T4, я генерировал самообследуемые объекты.

Все в порядке, но одно.Я вижу сгенерированные сущности TransactionA и TransactionB, но не вижу их в объекте контекста (ObjectContext).Это нормально?Если так, как я могу получить TransactionB из таблицы, используя контекст, если доступен только класс Transaction?

Спасибо

1 Ответ

1 голос
/ 22 июля 2011

Это как и ожидалось.Транзакция A en B происходит от Транзакции базового класса.В вашей модели сущности вы можете получить к ним доступ через коллекцию Транзакций , например:

Context context = new Context();
List<TransactionB> list = context.Transactions.OfType<TransactionB>().ToList();
...