我们必须重构一个遗留项目,使用 EF5、VS 2012 和 SQL Sevrer 2008 R2 实现。
有不同的层:
- 包含 POCO 类的 BusinessLayers
- 实现存储库模式的数据访问层
- 上下文类(带有 DbContext)
目前,业务 POCO 类和 EF 实体是相同的。没有映射,但使用 T4 模型模板生成的实体也用作业务实体,并且在此使用部分类注入业务逻辑,作为实体扩展。
目标是解耦实体,将 EF 移动到一个单独的项目中,这将创建一个模型层。我的想法是在业务层创建代表模型层中相对对应的业务对象。
但是,我是否必须为两层之间的所有属性手动创建映射(在某些情况下,一个表甚至可以有 40 个字段)?是否可以使用 Automapper 来实现这一点?