【发布时间】:2013-04-09 09:00:47
【问题描述】:
我试图弄清楚如何处理多种类型的继承。我有一个现有的 Code First / EF / MVC 项目,它在生产环境中具有实时数据。系统使用一种称为“文档”的类型,可以在该类型上执行许多功能,并且有许多关联表可以链接到 DocumentID。
目前有一种更加差异化的文档,即采购订单,它实现了一些更具体的属性,例如引用产品、数量和单价的“OrderLines”集合。还有一些特定于采购订单的其他字段。除了具有“OrderLines”与基本文档类型不同之外,采购订单是供应方文档,因此,它的第三方是“供应商”。将来可能还有其他供应方文件也将供应商作为第三方。
我现在准备实施一种新的文档类型,即需求方,这意味着它将有一个称为客户的第三方。它还有一个 OrderLines 集合。
我的系统目前设置为TPH,所以该表称为“文档”,并且有一个鉴别器列表示里面的文档是采购订单。
如何添加新类型并使用继承来实现 OrderLines 集合和 CustomerID / Customer 链接?看来c#不能做多重继承,所以下面的就不行了:
Document -> OrderLinesDocument -> PurchaseOrder
文档 -> OrderLinesDocument -> 发票
Document -> VendorDocument -> PurchaseOrder
文档 -> 客户文档 -> 发票
中产阶级会在哪里实现可能对许多文档但不是所有文档都通用的字段?
有没有办法使用接口来完成这个,并且仍然让 EF 正确地找出表格?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
应该是
First@JohnSaunders :))
标签: c# entity-framework asp.net-mvc-4