繁体   English   中英

具有MVC的经典ado.net的UOW +存储库

[英]UOW + Repository for classic ado.net with MVC

我已经从stackoverflow.com阅读了两个问题

  1. 仍使用经典ADO.NET吗?
  2. 在经典ADO.Net中使用ASP.Net MVC

我真的很感谢他们两个。
我非常喜欢Repository Design Pattern,因此我想在使用ASP.net MVC和Classic Ado.net的项目中使用它。

上面的第二个问题已经解释了如何使用存储库模式和经典的ado.net技术。

我想知道的一件事是,就经典的ado.net技术而言,是否可以使用结合了工作单元的存储库模式。

有人可以给我有关此的任何参考链接吗?

如果仅存在Repository + Classic Ado.net的参考,那么也请让我知道该参考。

确实可以将UoW,存储库和“经典” ADO.NET组合在一起。

但是,您的UoW将需要根据实体类型进入相关的存储库。 您可以让您的存储库实现通用接口。 例如:

public interface IRepository<T>
{
    void Add(T instance);
    T Get(Guid id);
    void Remove(Guid id);
    void Remove(T instance);
}

由于每个UoW是一个单独的实例,您将要使用工厂。 然后,该工厂将把存储库注入UoW或为其提供一些IRepositoryProvider实例,该实例可以根据类型返回相关的存储库。 因此,从概念上讲:

public interface IRepositoryProvider
{
    IRepository<T> Get<T>();
}

这些是广泛的招,所以我希望这是有道理的。

IMO如果您要使用存储库和UoW,则没有理由使用“经典” ADO.Net。 各种ORM框架都为您实现了Repository + UoW模式,您只需将它们插入应用程序即可(假设您的应用程序是围绕这些模式设计的)。

我只用经典ADO.Net时,我不想使用存储库/ UOW模式(例如事务处理脚本模式)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM