实体框架和域层

时间:2014-02-21 19:42:16

标签: c# entity-framework

关于实体框架和域层的设计问题 -

我正在使用实体框架创建一个新的应用程序,而DTO和实体对象将具有相同的结构,但会涉及相当多的业务逻辑。因此,考虑到应用程序的性能和可维护性,我想知道下面哪种方法是最好的方法

方法1:

  • 使用从T4模板生成的实体对象作为域对象
  • 创建部分类并添加业务逻辑
  • 列表项

将实体对象公开到UI图层

方法2:

  • 为域图层创建DTO
  • 向DTO添加业务逻辑
  • 实施实体之间的映射 - > DTO和DTO - >实体
  • 将DTO展示给UI图层

2 个答案:

答案 0 :(得分:0)

我个人不会将BL放在我的域模型或dtos中。我的控制器知道我的域层,也知道业务层。我的控制器要求/告诉我的BL工作并返回域模型。然后,控制器层将域模型映射到dto,并将dto发送到视图。

答案 1 :(得分:0)

在我所做的所有项目中,我将两个选项结合起来。例如,当使用包含5-6个表的列的网格时,更容易将列绑定到Dto的属性,因为您可以避免绑定到子属性。如果一个对象有许多子属性,那么创建gridfilters也更难。

因此,对于来自多个表的数据,我认为最好使用Dto的

如果您只有一个表中的数据,我猜它有点过分,无法在具有完全相同属性的实体和Dto之间创建映射。