1
我目前正在开发一个应该高度模块化的MVC项目。例如,我想要一个用户模块,一个菜单模块和一个页面模块。在模块化应用程序中使用实体框架
因为这些模块需要在不同的visual studio解决方案中高度重用,所以我为每个模块创建单独的项目。
对于数据库映射,我想利用实体框架。我在每个模块项目中都创建了一个单独的DbContext。每个DbContext都包含与模块关联的实体。
不幸的是,我不能让EF在不同模块/ dbContexts中的实体之间创建外键。
例如: 核心模块包含用户实体 页面模块包含页面实体,该页面实体的作者链接到在核心模块dbContext中定义的用户实体。
有没有人有一个想法,我可以跨模块/ dbContexts创建外键?
感谢您的回复,您的解决方案肯定会奏效。但不幸的是不在我的情况。我希望能够在不改变任何其他内容(您的数据层)的情况下在模块中工作。我应该只能使用其他模块的东西。 – mhtsbt
@Matthias - 那么恐怕我不明白你对'Module'的定义是什么,以及为什么你的模块不能访问完整的服务层,只能使用他们特别需要的存储库。 –