【问题标题】:Mapping EF entities to POCO business entities将 EF 实体映射到 POCO 业务实体
【发布时间】:2013-08-02 10:07:25
【问题描述】:

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

  • 包含 POCO 类的业务层
  • 实现存储库模式的数据访问层
  • 上下文类(带有 DbContext)

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

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

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

【问题讨论】:

  • 哇,EF5、VS2012 和 SQL Server 2008 现在是“旧版”?这大大放宽了“遗留软件”的普遍理解定义...... :)
  • 我的意思是遗留项目,因为我们认为它已经存在,我们必须相应地更改/重构它。也许是我这边的定义问题。

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


【解决方案1】:

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

【讨论】:

  • 感谢lazyberezovsky 的链接,我会试试这个工具看看如何适合我们的解决方案。
猜你喜欢
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多