说我有3层

第1层:WPF项目(包含:xaml、viewmodels、mvvm框架)

第 2 层:业务逻辑层(包含:普通 c# 类)

第 3 层: Entity Framework (包含:存储库/数据访问类)

当您不想将 DAL(第 3 层)暴露给 View(第 1 层)时
业务逻辑层如何实现好?
我很难在 BLL 对象和 DAL 实体之间来回放置值。

你能帮忙吗?

最佳答案

无需将所有 DAL 暴露给 View 层,只需在所有层之间交换域对象(EF 对象)。该结构可能类似于以下内容:

  • 表示层-------- ^
  • BLL --------------------------- |数据对象
  • DAL(存储库等)--- |

  • 因此,您的所有图层都将断开连接;但它们将共享相同的域对象。在现实世界中,您可以通过为所有层共享的 Entity Framework 实体创建单独的 dll 来实现类似的结构。请注意,ObjectContext 应仅对 DAL 可见(默认情况下,实体和对象上下文在同一个 dll 中生成,您需要将其分成两个 dll)。

    关于c# - 使用 Entity Framework 作为数据访问层时,如何实现业务逻辑层?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12077593/

    10-10 18:12
    查看更多