Mvc 4.0中的存储库模式

时间:2013-10-02 12:25:37

标签: c# asp.net-mvc repository-pattern

我正在使用Mvc 4.0中的项目。该项目已经使用其数据库第一种方法的类包含了EF。我必须使用存储库模式在其中做一些工作。我读过很多博客,但我仍然对如何将Entity Framework与Repository实际集成感到困惑。我必须从哪里开始。我正在阅读example

解释是可以的,但是如何合并这两个概念。我尝试创建了一个模型类,如上面的链接所示,但在学生班的上述链接中,他们已经列出了Icollection列表,其中注册是数据库中的表。我也将我的表名传递给列表但没有工作。

我已完成的总流程。请告诉我这是对还是错 Step1:我创建了一个名为School的数据库 Step2:我在Project中添加了实体框架。 Step3:我现在正在创建一个与Student表具有相同属性的模型。 Step4:我现在被困住了。我将如何创建Icollection? 请尽快帮助。我将非常感谢你。

5 个答案:

答案 0 :(得分:7)

查看这个问题Unit Of Work & Generic Repository with Entity Framework 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

但是在实施存储库模式之前我会建议你思考"你真的需要吗?"。

答案 1 :(得分:5)

如果您希望看到存储库如何实现的真实场景,那么我建议您查看一些开源项目。

Nop Commerce 使用存储库模式和依赖注入 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

答案 2 :(得分:4)

答案 3 :(得分:1)

这里有一些文章解释了关于Repository Pattern的基本知识以及带有源代码的示例。

CRUD Operations Using the Repository Pattern in MVC

Repository pattern, done right

Generic Repository Pattern in MVC3 Application with Entity Framework

答案 4 :(得分:1)

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;
     }
}