我已将我的应用程序拆分为以下层,其中包含来自服务层的模块。
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项目,并在每个模块中具有相同的实体,这意味着复制所有内容。
答案 0 :(得分:1)
我发现使用代码首先解决了这个问题。我可以使用一个通用模型项目来保存我的基础模型,然后在模块模型项目中,它们可以从基础模型继承。