C# UOW&x2B;使用MVC的经典ado.net存储库

C# UOW&x2B;使用MVC的经典ado.net存储库,c#,asp.net-mvc,ado.net,repository,C#,Asp.net Mvc,Ado.net,Repository,我从stackoverflow.com上读到了两个问题 我真的很感激他们两位。 我非常喜欢存储库设计模式,所以我想在使用ASP.NETMVC和经典Ado.net的项目中使用它 上面的第2个问题解释了如何使用存储库模式和经典的ado.net技术 我想知道的一件事是,当涉及到经典的ado.net技术时,是否可以使用与工作单元相结合的存储库模式 有人能给我一些关于这个的参考链接吗 如果只有Repository+Classic Ado.net的引用,那么请让我知道该引用。确实可以将UoW、Repos

我从stackoverflow.com上读到了两个问题


  • 我真的很感激他们两位。
    我非常喜欢存储库设计模式,所以我想在使用ASP.NETMVC和经典Ado.net的项目中使用它

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

    我想知道的一件事是,当涉及到经典的ado.net技术时,是否可以使用与工作单元相结合的存储库模式

    有人能给我一些关于这个的参考链接吗


    如果只有Repository+Classic Ado.net的引用,那么请让我知道该引用。

    确实可以将UoW、Repository和“Classic”Ado.net结合起来

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

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

    这些都是非常广泛的笔划,所以我希望这是有意义的。

    确实可以将UoW、存储库和“经典”ADO.NET结合起来

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

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

    这些都是非常广泛的笔划,所以我希望这是有意义的。

    IMO如果您想使用Repository和UoW,就没有理由使用“classic”ADO.Net。各种ORM框架为您实现Repository+UoW模式,您只需将它们插入应用程序(假设您的应用程序是围绕这些模式设计的)


    当我不想使用Repository/UoW模式(例如事务脚本模式)时,我只会使用classic ADO.Net。

    IMO如果你想使用Repository和UoW,没有理由使用“classic”ADO.Net。各种ORM框架为您实现Repository+UoW模式,您只需将它们插入应用程序(假设您的应用程序是围绕这些模式设计的)


    当我不想使用Repository/UoW模式(例如事务脚本模式)时,我只会使用经典的ADO.Net。

    如果想使用UoW模式,使用纯ADO.Net有什么意义?使用纯ado.net的想法是精确控制发生的事情(主要是从性能角度)。如果您计划使用UOW,为什么不使用类似ORM的EntityFramework?@ivowiblo首先,让我告诉您,我感谢您的评论。是的,我在另一个项目中使用了EF代码优先设计模式。但当涉及到增量数据库构建时,会出现一个问题。因为EF Code First设计模式支持drop-crate数据库方式,但它确实支持增量数据库构建。如果需要,您可以首先使用数据库:您知道,您可以随时更新您的DataContext…如果您想将UOW置于其之上,使用纯ado.net有什么意义?使用纯ado.net的想法是精确控制发生的事情(主要是从性能角度)。如果您计划使用UOW,为什么不使用类似ORM的EntityFramework?@ivowiblo首先,让我告诉您,我感谢您的评论。是的,我在另一个项目中使用了EF代码优先设计模式。但当涉及到增量数据库构建时,会出现一个问题。因为EF Code First设计模式支持drop-crate数据库方式,但它确实支持增量数据库构建。如果您愿意,您可以先使用数据库:您知道,您可以随时更新您的DataContext…感谢您的解释@EbenRoux,您可以分享任何参考链接吗?感谢您的巨大贡献。有人介意告诉我使用UOW的优势或需要吗?它解决了什么样的目的?谢谢你的解释@EbenRoux,你能分享一些参考链接吗?谢谢你的巨大贡献。有人介意告诉我使用UOW的优势或需要吗?它解决了什么目的?谢谢你@Dylan Smit,我接受你说的。那么,你能告诉我关于使用Repository+classic Ado.net而不考虑结合UOW的任何参考资料吗?@dylan u说“各种ORM框架为你实现Repository+UOW模式”。你能告诉我一些内置Repository和UOW的ORM框架吗。因为我看到人们在使用EF时编写代码来开发存储库模式。谢谢@Dylan Smit,我接受你的说法。那么,你能告诉我关于使用Repository+classic Ado.net而不考虑结合UOW的任何参考资料吗?@dylan u说“各种ORM框架为你实现Repository+UOW模式”。你能告诉我一些内置Repository和UOW的ORM框架吗。因为我看到人们在使用EF时编写代码来开发存储库模式。