说我有3层
第1层:WPF项目(包含:xaml、viewmodels、mvvm框架)
第 2 层:业务逻辑层(包含:普通 c# 类)
第 3 层: Entity Framework (包含:存储库/数据访问类)
当您不想将 DAL(第 3 层)暴露给 View(第 1 层)时
业务逻辑层如何实现好?
我很难在 BLL 对象和 DAL 实体之间来回放置值。
你能帮忙吗?
最佳答案
无需将所有 DAL 暴露给 View 层,只需在所有层之间交换域对象(EF 对象)。该结构可能类似于以下内容:
因此,您的所有图层都将断开连接;但它们将共享相同的域对象。在现实世界中,您可以通过为所有层共享的 Entity Framework 实体创建单独的 dll 来实现类似的结构。请注意,ObjectContext 应仅对 DAL 可见(默认情况下,实体和对象上下文在同一个 dll 中生成,您需要将其分成两个 dll)。
关于c# - 使用 Entity Framework 作为数据访问层时,如何实现业务逻辑层?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12077593/