EntityFramework 5.0 with CastleWindsor



由于EF 5.0已经实现了UnitOfWork模式,所以我希望实现它,而不是创建自己的IUnitOfWork类来维护事务。但我在网上发现的大多数例子都是使用Separate UnitOfWork,而不是直接使用EF。

我正在尝试使用IoC(castle windsor)来实现这一点。你能提供一些实施这一点的样本或指导吗。

提前感谢

Sai

您没有提供有关当前Windsor设置或UoW在EF5中的样子的任何详细信息(我没有使用它),但基于此[1],他们似乎在数据库上下文类上实现了IUnitOfWork接口。因此,在Windsor驱动的依赖注入模式中,这似乎非常简单。您首先需要向容器注册IUnitOfWork接口和实现。有多种方法可以在Windsor中注册组件。我更喜欢安装程序[2]。。。所以你最终会得到这样的东西:

public class YourInstaller : IWindsorInstaller
{
   public void Install(IWindsorContainer container, IConfigurationStore store)
   {
      container.Register(Component.For<IUnitOfWork>().ImplementedBy<YourDbContext>());
   }
}

然后以某种方式将其注入到应用程序的服务中,例如:

public class YourService
{
    public YourService(IUnitOfWork uow)
    {
       // rock out
    }
}

[1]http://dumians.wordpress.com/2013/04/13/how-to-use-repository-and-unit-of-work-patterns-with-entity-framework/[2]http://docs.castleproject.org/Default.aspx?Page=Installers&NS=温莎&AspxAutoDetectCookieSupport=1

最新更新