C# - EF代码第一层定义和逻辑

时间:2014-12-09 23:19:50

标签: c# entity-framework poco layer

我正在C#中创建一个分层应用,并试图在其中使用EF 6。 我想要代码第一种方法(POCO)。 我对层(项目)的想法:

  • DAL(实体框架6)。
  • 实体(我的数据库中包含代表我的表的类,或代表我的数据库对象的实体)。
  • 业务(我通过方法扩展方法向Entites类添加,例如'void CalculateTaxes()'到Product类。)
  • 演示文稿(UI,现在是Win Forms,以后可以是网络...)

首先,我对所有这些都比较新,我正在研究层架构。

问题:DAL层必须引用实体层(我有我的数据库对象)来创建和维护数据库,而实体层必须引用DAL层来访问来自DB,我不能这样做(循环依赖)。 我应该如何处理这种情况?对于更多的开发人员来说,这是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

  

实体层必须看到DAL层才能访问DB中的对象

这是您应该打破依赖的地方。实体应该与存储无关。当前流行的实体桥接方法和EF是一个存储库层,它封装了CRUD(创建,读取,更新,删除)逻辑。