MS Entity Framework:如何使用继承拆分实体?

时间:2011-07-21 19:47:31

标签: entity-framework inheritance self-tracking-entities

我在DB中有表名Transaction。我想要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)中看到它们。这是正常的吗?如果是这样,如果只有Transaction类可以访问,我如何使用上下文从表中获取TransactionB?

由于

1 个答案:

答案 0 :(得分:1)

这是预期的。事务A en B派生自基类Transaction。在您的实体模型中,您可以通过交易的集合访问它们,如下所示:

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