在ASP.NET MVC应用程序中使用存储库

时间:2013-12-02 17:29:13

标签: c# asp.net-mvc repository

我正在使用ASP.NET MVC构建一个Web应用程序,我想使用Repository模式和Unit Of Work模式,但我有一些问题。

首先,谁应该继承IDisposable接口?存储库接口或实现存储库的类。 例如:

存储库界面:

public interface IRepository<T> : IDisposable where T : class
{
}

存储库:

public class Repository<T> : IRepository<T> where T : class
{
}

或者

存储库界面:

public interface IRepository<T> : where T : class
{
}

存储库:

public class Repository<T> : IDisposable , IRepository<T> where T : class
{
}

这两种创建存储库的方法有什么区别。

谁应该继承IDisposable接口?实现存储库的接口或类?

1 个答案:

答案 0 :(得分:0)

我会在Repository类上使用IDisposable接口,而不是它的接口。从代码的角度来看,两者都可以工作,但是处理Repository实例是该类实现必须完成的工作的一部分。由于IDisposable应该是Repository Class的内部,因此不需要从代码的其他部分调用此接口的方法。