如何使用EF + Generic Repository + UoW + Factory模式?

时间:2013-03-15 15:52:30

标签: entity-framework repository-pattern factory-pattern unit-of-work

我正在尝试在我现有的项目中转换EF + Generic Repository + UoW +工厂模式,并浏览了很多很好的例子,但仍然有一些想要清除的混淆。

我仍然是新手,据我所知,设计将是这样的:

不得不说所有示例只需要1-2个域类,但在我的情况下,有大量的域类从DB映射,50 +,这是一个更大的项目。

  1. 使用EDM生成器生成EF模型,然后删除默认的EF生成器,因此edmx文件只是模型映射层。
  2. 从EDM文件生成域类。
  3. 构建IRepository,IunitOfWork。
  4. 将BaseRepository实现为通用存储库类继承IRepository
  5. 将UnitOfWork实现为继承IUnitOfWork 有两种方法可以在Repository和amp;之间进行交互。 UnitOfWork,有人使用属性注入,有人使用UoW作为Repository的构造函数的一部分。哪个更好?或者说更松散的耦合?
  6. 示例:

      public Repository(): this(UnitOfWork.UnitOfWorkFactory.GetUnitOfWork())
     {
      //this.currentUnitOfWork.IncrementRefCount();
     }
    
    1. 为每个域类创建一个存储库,比如EntityRepository,使用像BaseRepository这样的注入或继承BaseRepository并展开,覆盖所有函数。哪种方式更好? 在我的项目中,有很多域类,我是否需要为每个域类创建一个存储库?
    2. 还有其他步骤......但是到目前为止还想清除,我将继续添加进一步的步骤和讨论以完成整个过程。

0 个答案:

没有答案