如何从实体框架中分离实体对象

本文关键字:实体 分离 对象 框架 | 更新日期: 2023-09-27 18:02:01

根据我以前的项目架构师

  • 业务服务层
    • 业务逻辑在这里。
    • 可访问"实体"answers"数据访问层"
  • 数据访问层
    • SQL操作在这里进行。
    • 可以访问"Entity Dto"
  • 实体层
    • 所有数据库表都在这里。
  • 表示层
    • 可以访问业务和实体
    • 无法访问数据访问层
    • <
    • 视图/gh>

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

  • 业务服务层
    • 业务逻辑在这里。
    • 可访问"实体"answers"数据访问层"
  • 数据访问层
    • SQL操作在这里进行。
    • 实体框架此处(.edmx)
  • 实体层
    • 我想在这里使用实体框架类(EntityObject)。所以不需要重写所有的DTO,但要确保CRUD不应该这样做。不应该包含ObjectContext/Dbcontext
  • 表示层
    • 可以访问业务和实体
    • 访问数据访问层(实体框架)
    • <
    • 视图/gh>

如何从实体框架中分离实体对象

我想说明几件事:

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

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

  3. 与2的注释相同