在此示例中,我遵循数据库优先方法。由于单个 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 但将模型分解为具有不同 edmxs 的多个模型?
如何为多个模型使用名为DBNameEntities的相同连接字符串,但同时创建有意义的上下文。我希望BModel的上下文生成为BContext , AModel的上下文生成为AContext。例如。公共部分类 AContext : DbContext
是解决我的问题的正确方法,创建不同的项目并且每个项目都有一个模型,而不是使用单个项目来拥有多个 edmx。
分享你的想法。