1

我刚刚开始研究 Microsoft 的实体框架 (EF),以替换我们现有的 Linq2Sql 数据访问库。

在关注一些示例项目时,我遇到了“添加代码生成项”(设计器界面上的上下文菜单),特别是“EF 5.x DbContext Generator”模板。

该模板为模型生成了一些不错的简单 (POCO) 类对象。

在我的整体结构中,我想将这些类提取/移动到不同的项目/程序集中,以便我可以从通用存储库中引用它们,即我想将应用程序的数据访问层与 EF 实体数据模型分离。

这是可能的,还是我需要为每个类对象手动创建一个映射(例如.ToDomainModel()、.FromDomainModel())。

如果这是一个愚蠢的问题,我深表歉意——在我的辩护中,我是 EF 的新手,并且仍在掌握数据驱动域的概念。

4

1 回答 1

1

这是可能的,但你会失去部分自动魔法。自动生成的项目是一个 T4 模板。如果你打开它,你会在文件的开始相对路径的某个地方找到.edmx。如果您移动模板,您只需要相应地更新路径以指向.edmx您要用于生成的文件。

缺点是在.edmx保存文件时将模板移动到其他地方会破坏自动类重新生成(但我没有搜索解决方案,所以也许可以让它工作)。因此,您必须在每次保存对 EDMX 文件的更改后手动运行自定义工具(.tt 文件上下文菜单中的项目)。

于 2012-08-29T12:44:40.827 回答