将EF实体映射到POCO业务实体

时间:2013-08-02 10:07:25

标签: c# visual-studio-2012 mapping entity-framework-5 automapper

我们必须重构使用EF5,VS 2012和SQL Sevrer 2008 R2实现的遗留项目 有不同的层次:

  • 包含POCO类的BusinessLayers
  • 实施存储库模式的数据访问层
  • 上下文类(使用DbContext)

目前,商业POCO类和EF实体是相同的。没有映射,但使用T4模型模板生成的实体也用作业务实体,业务逻辑在此注入使用部分类,作为实体扩展。

目标是将实体分离,将EF实体移动到一个单独的项目中,这将创建一个模型层。我的想法是在业务层创建业务对象,代表模型层中的相对对应物。

但是,我是否必须手动为两个图层之间的所有属性创建映射(在某些情况下,一个表甚至可以有40个字段)?是否可以使用Automapper来实现这一目标?

1 个答案:

答案 0 :(得分:3)

是的,可以使用AutoMapper。但我建议您使用Code First方法 - 直接保留域实体。您可以手动编写实体框架映射,也可以使用Reverse Engineer Code First生成它们。这将消除系统中不必要的复杂性。