c# - Entity Framework 6 on MVVM + PRISM 模式

标签 c# entity-framework mvvm dependency-injection prism

<分区>

将 Entity Framework 与 PRISM、MVVM 和(业务层)结合使用的更好方法是什么? 我们有时间学习,应用程序(C#)将有 300 个以上的实体。

我看到了一些关于将 PRISM 的 DI 与 EF、POCO(CodeFirst)直接结合使用、ModelFirst...

我对 PRISM、MVVM、EF 和 DI 没有太多经验,只有一点理论。

最好的架构是什么?

最佳答案

如果我对问题的理解正确,那么您已经有了基于 PRISM 架构的表示层和业务层,并且您将 Entity Framework 视为数据访问层。

架构

Julie Lerman有很棒的类(class)Entity Framework in the Enterprise在 Pluralsight 上可用。该类(class)讨论了企业级应用程序中 Entity Framework 架构方面的最佳实践,这些应用程序可以推断出大量数据。

EF 位于Data Layer,但Business Layer 应该依赖于Repository/Unit of Work Layer。 Repository Layer 的本质是封装冗余数据访问代码。 Repostitory 由 Get (GetCustomerById, GetAllCustomers)、Add (AddCustomer)、Remove (RemoveCustomer)、Send (SendToDatabase) 等动词组成。

方法

代码优先方法是最新的,我会推荐它。您可以在 Code-first vs Model/Database-first 上找到综合论文关于 stackoverflow 的主题。

领域驱动设计

领域驱动设计 (DDD) 是一种有助于管理大量实体的模式。它支持关注点分离。在 dddcommunity 上阅读更多相关信息.观看演示 ​​Entity Framework in Core Business Applications and Domain-Driven Design Approaches在实践中展示 Entity Framework 和 DDD。

关于c# - Entity Framework 6 on MVVM + PRISM 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23260287/

相关文章:

c# - 字节分配不一致

c# - 读取属于另一个应用程序的配置文件的最简单方法

entity-framework - 在 EF Core 中添加没有外键的导航属性,使用 .NET Core Web API 进行数据库优先迁移

c# - Entity Framework 可查询异步

c# - g.i.cs 文件丢失,类不再包含 InitializeComponent 的定义

c# - 记住可扩展/可折叠导航区域的最后设置

c# - 如何在 .net 属性上注入(inject)属性依赖项?

C#检查是否有正在进行的复制作业

c# - 当我想检索数据仅用于显示时,是否应该使用 MergeOption.NoTracking?

c# - 澄清在 MVVM 中绑定(bind) Listbox.SelectedItem