【发布时间】:2013-12-15 07:58:17
【问题描述】:
好的,所以我是实体框架的新手...
我有一个现有的 SQL 数据库,其中包含大约 500 个表,我们正在考虑从 Linq->SQL 迁移到 Entity Framework 作为我们的主要数据访问层。我们还想考虑更多的领域驱动设计方法,使用单独的数据上下文管理应用程序的关键领域(即销售、营销、工作、运输等)。
如果我们采用一个常见的实体,例如“客户”,它会出现在多个模型中。到目前为止,我的示例应用程序中有两个模型。 Entity Framework 足够聪明,只创建一个客户类(我们使用默认的 Poco T4 模板进行类生成),但是当我尝试运行项目时,我收到以下错误“名称为 'Customer' 的多种类型存在于不同命名空间中的 EdmItemCollection。基于约定的映射需要唯一名称,而不考虑 EdmItemCollection 中的命名空间。
那么我认为实体框架不允许“客户”存在于多个模型中是否正确?如果我真的希望客户出现在多个模型中,我是否必须开始创建不同版本的客户类来处理它?
如果这是一个愚蠢的问题,请提前道歉,但我对 EF 比较陌生。
谢谢...
【问题讨论】:
-
你当然可以有两个相同的模型,但是它们不应该重叠。如果它们重叠,则 EF 将无法找到使用哪一个。
标签: entity-framework