Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 为什么在MVC和EntityFramework中使用存储库模式和工作单元?_Asp.net Mvc 3_Entity Framework 4_Repository Pattern_Unit Of Work - Fatal编程技术网

Asp.net mvc 3 为什么在MVC和EntityFramework中使用存储库模式和工作单元?

Asp.net mvc 3 为什么在MVC和EntityFramework中使用存储库模式和工作单元?,asp.net-mvc-3,entity-framework-4,repository-pattern,unit-of-work,Asp.net Mvc 3,Entity Framework 4,Repository Pattern,Unit Of Work,我是一名.Net开发人员。我想知道为什么使用MVC和EntityFramework中的存储库模式和工作单元。请告诉我可以使用存储库和工作单元模式的场景。好的-首先是存储库模式。为什么?想象一下,在应用程序中有一个数据库,比如说SQL 2000。然后,您需要将数据库升级到SQL 2008和实体框架。如果您没有实现存储库模式,这可能会变得非常乏味。为什么?假设数据访问是使用ADO.net实现的。从LINQ到实体非常不同。因此,ADO.NET代码会在数据访问调用中乱七八糟 现在,如果您的应用程序使用存

我是一名.Net开发人员。我想知道为什么使用MVC和EntityFramework中的存储库模式和工作单元。请告诉我可以使用存储库和工作单元模式的场景。

好的-首先是存储库模式。为什么?想象一下,在应用程序中有一个数据库,比如说SQL 2000。然后,您需要将数据库升级到SQL 2008和实体框架。如果您没有实现存储库模式,这可能会变得非常乏味。为什么?假设数据访问是使用ADO.net实现的。从LINQ到实体非常不同。因此,ADO.NET代码会在数据访问调用中乱七八糟

现在,如果您的应用程序使用存储库模式,它将调用存储库中的GETCUSTOMER()方法。它不关心GETCUSTOMER()如何获取数据,因为它与实际的数据访问是解耦的。它只能到达存储库。因此,当您删除ADO.NET代码并用实体框架数据访问技术替换它时,您不必搞乱应用程序,只需处理数据访问内容


工作单元:想象一下这个场景。客户刚刚在您的网站上注册。1.您需要将其数据添加到帐户部分。2.他们还订阅了时事通讯。三,。您需要向他们发送确认电子邮件以激活他们的帐户。这三件事都需要发生才能成功注册新客户,并且可以被视为一个工作单元。它与数据库事务有一些相似之处

谢谢你,格雷格。很好的解释。