Mvc 4.0 中的存储库模式

本文关键字:存储 模式 Mvc | 更新日期: 2023-09-27 18:33:38

我有一个 Mvc 4.0 的项目。该项目已经将 EF 包含在其中,并使用其具有数据库优先方法的类。我必须使用存储库模式在其中做一些工作。我已经阅读了许多博客,但我仍然对如何将实体框架与存储库实际集成感到困惑。从我必须开始的地方。我正在阅读这个例子

解释是可以的,但是我如何合并这两个概念。我尝试的是按照上面的链接建议创建一个模型类,但在学生类的上述链接中,他们采取了 Icollection 列表,其中注册是数据库中的表。我也将我的表名传递给列表,但不起作用。

我做过的总过程。请告诉我这是对还是错步骤1:我创建了一个名为"学校"的数据库步骤2:我在项目中添加了实体框架。步骤3:我现在正在创建一个与学生表具有相同属性的模型。步骤4:我现在卡在哪里。我将如何创建收藏集?请尽快提供帮助。我会感谢你的。

Mvc 4.0 中的存储库模式

看看这个问题 使用实体框架 5 的工作单元和通用存储库 我认为那里描述得很好。

这是您可以使用的完整软件包 http://www.nuget.org/packages/Repository.EntityFramework/

还有一个链接:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application。

但是在实现存储库模式之前,我建议您考虑"您真的需要它吗?

如果你想看到一个关于存储库是如何实现的真实场景,那么我建议你看看一些开源项目。

诺普商务使用存储库模式和依赖关系注入http://nopcommerce.codeplex.com/

视频还有关于构建MVC店面的 ASP.NET 视频系列(免费(http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-2-the-repository-pattern

开放获取示例Telerik有一些使用ORM(OpenAccess(的很好的例子。即使它使用不同的ORM,存储库模式仍然适用于EntityFramework。http://www.telerik.com/products/orm.aspx

下面是一个您可能会发现有用的示例:在 ASP.NET MVC 应用程序中实现存储库和工作单元模式,来自 www.asp.net

这里有一些文章解释了有关存储库模式的基本知识,也是带有源代码的示例示例。

在 MVC 中使用存储库模式的 CRUD 操作

存储库模式,正确完成

具有实体框架的 MVC3 应用程序中的通用存储库模式

public class AccountBrandRepository : GenericRepository<AccountBrand>
{   
     TestEntities _context;
     public TestRepository(IUnitOfWork unitOfWork)
         : base(unitOfWork as VoltEntities)
     {
         if (unitOfWork == null)
             throw new ArgumentNullException("unitOfWork");
         _context = unitOfWork as TestEntities;
     }
}