【问题标题】:Full encapsulation of the Entity Framework实体框架的完全封装
【发布时间】:2012-04-11 01:31:56
【问题描述】:

我正在使用 WPF 作为表示层(当然使用 MVVM)开发一个业务线应用程序。

我正在使用 ADO.Net Entity Framework 来映射数据库。

我不想直接在代码中(在业务层中)使用实体。我想将我的项目分成 3 层:

  • 表示层

  • 业务层

  • 数据访问层

根据this post,我想实现对实体框架的完全封装,以提供关注点分离,并且将来不再依赖 EF 作为 ORM。

您能否帮我提供一些示例来封装 EF 以及如何在代码中实现它。

【问题讨论】:

    标签: entity-framework data-access-layer separation-of-concerns


    【解决方案1】:

    关于这个

    我想实现实体框架的完全封装。到 提供关注点分离,并且在 未来作为 ORM

    通常,如果你走这条路,你会给自己带来很多问题。如果你选择 EF,你真的应该充分利用这些特性,而不是把它隐藏在另一个抽象后面。

    EF 本身已经是 DB 之上的一个抽象层,无需在此之上创建另一个抽象层。

    【讨论】:

      【解决方案2】:

      我会看看这篇文章,它实现了 UnitOfWorkRepository 模式来实现我理解的你想要实现的目标。

      http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx

      【讨论】:

        【解决方案3】:

        有一种方法可以使用 POCO。 Entity Framework 4.0 支持 POCO(普通 CLR 对象)。但是当您必须处理关系和关联时,POCO 有其自身的复杂性。你可以参考 Julie Lerman 的博客(一篇不错的文章)

        http://thedatafarm.com/blog/data-access/agile-entity-framework-4-repository-part-1-model-and-poco-classes/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-05
          • 1970-01-01
          • 2014-10-21
          • 2015-01-16
          • 1970-01-01
          • 2011-05-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多