EF Mapping实体位于不同的命名空间中

时间:2014-01-09 11:32:09

标签: entity-framework asp.net-mvc-4 mapping entities

我已将我的应用程序拆分为以下层,其中包含来自服务层的模块。

UI - MVC

Module1.Service

Module1.Model - POCO实体

Module1.Repository.EF - Module1 EDMX

Module2.Service

Module2.Model - POCO实体

Module2.Repository.EF - Module2 EDMX

Common.Model - Base Poco实体。两个模块模型都将继承这些基本实体。

我的poco实体位于模型项目中,它们只包含属性。 edmx图位于repository.EF项目中。

common.model项目将拥有模块poco实体将继承的基础实体。我在edmx图中遇到的问题是我需要使用多个名称空间。 Module1.Model和Common.Model。另外,我还将两个项目中的实体分离到不同的文件夹中,这意味着我必须使用x个不同的命名空间。

当前的edmx图只有一个命名空间文本框,但我需要使用几个。有没有办法首先使用xml部分或代码来映射来自不同命名空间的实体?

我确信其他人之前一定遇到过这个问题。否则,我将不得不删除common.model项目,并在每个模块中具有相同的实体,这意味着复制所有内容。

1 个答案:

答案 0 :(得分:1)

我发现使用代码首先解决了这个问题。我可以使用一个通用模型项目来保存我的基础模型,然后在模块模型项目中,它们可以从基础模型继承。