Mvc 4.0 中的存储库模式
本文关键字:存储 模式 Mvc | 更新日期: 2023-09-27 18:33:38
我有一个 Mvc 4.0 的项目。该项目已经将 EF 包含在其中,并使用其具有数据库优先方法的类。我必须使用存储库模式在其中做一些工作。我已经阅读了许多博客,但我仍然对如何将实体框架与存储库实际集成感到困惑。从我必须开始的地方。我正在阅读这个例子
解释是可以的,但是我如何合并这两个概念。我尝试的是按照上面的链接建议创建一个模型类,但在学生类的上述链接中,他们采取了 Icollection 列表,其中注册是数据库中的表。我也将我的表名传递给列表,但不起作用。
我做过的总过程。请告诉我这是对还是错步骤1:我创建了一个名为"学校"的数据库步骤2:我在项目中添加了实体框架。步骤3:我现在正在创建一个与学生表具有相同属性的模型。步骤4:我现在卡在哪里。我将如何创建收藏集?请尽快提供帮助。我会感谢你的。
看看这个问题 使用实体框架 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;
}
}