将EF实体映射到BL对象

时间:2012-11-29 14:45:12

标签: c# .net entity-framework-4

我在我的解决方案中首先使用EF DB。

我有BLDALCommon图层。

BL包含操纵商业模式的经理

Dal执行CRUD操作

后者保留所有其他层消耗的所有DTO和接口。

每个项目都引用Common项目。

现在我想创建IDal接口,它返回我的Business model对象列表(EF类型)

事实是EF类型是在Dal项目中定义的,这个引用是Common \ IDal

因此,由于循环引用,IDal无法引用Dal。

我想将EF对象映射到BL对象,但是我怎样才能使它有效?

我有很多组成Business model个对象。我不想复制它们。

正确?

1 个答案:

答案 0 :(得分:-1)

我认为IDAL应该是Common或DAL本身。

无论何时想要引用项目,都无需创建多个项目。

如果必须internal,则可以更改存储库的可见性,以便其他项目只能使用public接口。

对于更多替代和不同的实现,我认为NSK Starter Kit将是一个非常好的参考。

更新1:

结构应如下:

  • 项目的核心部分 包含几乎所有纯粹的业务Domain
  • 下面有一个Data Access引用Domain
  • 会有Data Access Common,其中包含Data Access Interfaces
  • 有一个Service项目可能包含更复杂的操作,涉及更多的一个聚合对象,它引用了DomainData Access Interface
  • 有一个Service Interface,其中包含Service Interface and DTO s
  • 并且UI引用了Service Interface,可能还有Domain

即使您可以在Cedar

查看我自己制作的结构