我在这个例子中遵循数据库第一种方法。由于单个edmx的可管理性问题,我决定将单个edmx分解为多个edmx。
我创建了一个项目并添加了一个名为 AModel 的新ADO.net实体数据模型。它为我提供了在App.config 中为保存实体连接字符串选择DBNameEntities的选项。因此,上下文生成为:
公共部分类 DBNameEntities :DbContext
现在我添加了另一个名为 BModel 的ADO.net实体数据模型。我选择选择DBNameEntities1作为“App.config中保存实体连接字符串”的连接字符串。由于我已经为 AModel 创建了一个连接字符串,因此我取消选择连接字符串的选项。现在生成BModel的上下文为(从T4模板生成的POCO实体):
公共部分类实体:DbContext
在单个项目中,是否可以为多个模型使用多个dbContexts(DBNameEntities,Entities)?
或者在一个项目中,建议只使用单个dbContext,但是将模型分解为多个具有不同edmx的模型?
如何为多个模型使用名为 DBNameEntities 的相同连接字符串,但同时创建有意义的上下文。我希望 BModel 的上下文生成为 BContext , AModel 的上下文生成为 AContext 。例如。 公共部分类AContext:DbContext
是解决问题的正确方法,创建不同的项目,每个项目都有模型,而不是使用单个项目来拥有多个edmx。
分享您的想法。