如何将实体对象与实体框架分开?

时间:2016-08-12 07:41:03

标签: c# asp.net-mvc entity-framework

根据我以前的项目架构师。

  • 商业服务层
    • 商业逻辑在这里。
    • 可以访问"实体"和"数据访问层"
  • 数据访问层
    • SQL操作在这里制作。
    • 可以访问"实体Dto"
  • 实体层
    • 所有数据库表Dto here。
  • 表示层
    • 可以访问商家和实体
    • 无法访问数据访问层
    • 查看

现在要添加实体框架,我想遵循相同的架构。

  • 商业服务层
    • 商业逻辑在这里。
    • 可以访问"实体"和"数据访问层"
  • 数据访问层
    • SQL操作在这里制作。
    • 实体框架(.edmx)
  • 实体层
    • 我想在这里使用Entity Framework类(EntityObject)。所以不需要重写所有DTO,但是要确保CRUD不应该由此完成。不应包含ObjectContext / Dbcontext
  • 表示层
    • 可以访问商家和实体
    • 无法访问数据访问层(实体框架)
    • 查看

1 个答案:

答案 0 :(得分:0)

我想提出的事情很少:

  1. 数据访问层 - 如果依赖于edmx,那么您的应用程序将紧密耦合以使用实体框架。如果可能的话,以这样的方式创建设计:DAL在不知道底层实现哪个ORM的情况下将实体层作为抽象进行对话(基于接口的设计)。将来,您可以通过相对较少的努力引入其他ORM。

  2. 为什么业务服务层需要引用实体层。它理想情况下应该有参考,并且只能访问DAL。

  3. 与表示层相同的评论。

相关问题