【发布时间】:2021-02-20 05:33:29
【问题描述】:
我想在我的 ASP.NET MVC 项目中实现存储库模式。我在搜索谷歌时看到了很多实现,我有点困惑。他们中的大多数创建了自己的 Context 类,该类继承自 DBContext 类,然后将其注入存储库(或存储库)构造函数中。 我发现的所有文章都没有解释为什么要创建自定义 DBContext 类以及为什么它们不使用默认 ApplicationDbContext 以及如何更改您的应用程序代码以适应新的 Context 类。他们甚至没有提到课程。
我宁愿使用我会在存储库类中注入的默认 ApplicationDbContext,因为目前我没有看到创建新 DBContext 类的意义。我错过了什么吗?这是一种不好的做法吗?
如果由于某种原因我必须添加新的 DbContext 类,如何编辑我的代码(web.config 和其他)以适应它?如果我已经迁移到数据库,DBContext 类的更改会影响数据库吗?是否需要再次进行迁移?
举个例子,看看 MSDN 文档: https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application 我只是不知道为什么作者使用 SchoolContext 而不是 ApplicationDbContext。
【问题讨论】:
标签: c# asp.net asp.net-mvc repository-pattern