我是.Net开发人员。我想知道为什么使用MVC和EntityFramework中的存储库模式和工作单元。 Plz告诉我可以使用Repository和Unit of Work Pattern的场景。
答案 0 :(得分:2)
好的 - 首先,存储库模式。为什么?想象一下您的应用程序中有数据库的情况 - 比如SQL 2000。然后,您希望将数据库升级到SQL 2008和Entity Framework。如果您没有实现Repository模式,这可能会变得非常繁琐。为什么? ,设想数据访问是使用ADO.net实现的。从LINQ到实体非常不同。因此,ADO.NET代码将通过您的数据访问调用来填充。
现在,如果您的应用程序使用了存储库模式,它将调用存储库中的GETCUSTOMER()方法。它并不关心GETCUSTOMER()如何获取其数据,因为它的DECOUPLED来自实际的数据访问。它只能到存储库。因此,当您删除ADO.NET代码并将其替换为Entity Framework数据访问技术时,您不必弄乱应用程序,只需要处理数据访问。
工作单位:想象一下这种情况。客户刚刚在您的网站上注册。 1.您需要将其数据添加到“帐户”部分。他们也订阅了时事通讯。 AND,3。您需要向他们发送确认电子邮件以激活他们的帐户。这三件事都需要成功注册一个新客户,可以被认为是一个工作单位。它与数据库事务有一些相似之处。