C# 实体框架多数据库项目结构
我想知道在使用实体框架创建具有多个数据库的项目时,什么是可取的方法 我当前的解决方案项目如下所示C# 实体框架多数据库项目结构,c#,entity-framework,project-management,C#,Entity Framework,Project Management,我想知道在使用实体框架创建具有多个数据库的项目时,什么是可取的方法 我当前的解决方案项目如下所示 SystemName.Data // Points to Database1 SystemName.Core // Points to Database1 SystemName.Database2.Data SystemName.Database2.Core SystemName.Database3.Data SystemName.Database3.Core SystemName.Business
SystemName.Data // Points to Database1
SystemName.Core // Points to Database1
SystemName.Database2.Data
SystemName.Database2.Core
SystemName.Database3.Data
SystemName.Database3.Core
SystemName.Business
SystemName.UI
我应该把所有的数据和核心组件放在一个项目中吗?
我是否应该为每个数据库创建不同的业务项目
提前谢谢 。在EF5中,单用户模型(DbContext)仅由一个数据库实例管理
因此,多个DBContext可以位于不同的项目中,并在EF6中使用相同的数据库实例
使现代化
DbContext
使用的数据库可以由app.config(或web.config)决定。因此,我更喜欢根据不同的目的将DbContext的子类放入不同的项目中。如果考虑数据库的最大大小,比如每个数据库10GB,那么将一个DbContext放到一个数据库中可能是一个不错的选择但在EF6中,DbContext可以被视为一个插件。如果应用程序需要扩展以获得更多功能,那么额外的DbContext将为扩展创建必要的数据库。有朝一日,该扩展不再有用,需要卸载它,然后同一数据库中的某些表将被删除。顺便说一句,我正在Visual Studio 2010中使用entity framework 6。我更新了答案。我在VS 2012中使用了EF6。我喜欢EF6。