asp.net - 为什么要创建 DBContext 的私有变量并将其初始化为类的公共构造函数?
问题描述
当我在 Youtube 上学习 ASP.NET 时,作者DBContext
通过创建类型的私有变量DBContext
并将其初始化为类的公共构造函数来创建一个实例:
public class CustomerController : Controller
{
private ApplicationDbContext context;
public CustomerController()
{
context = new ApplicationDbContext();
}
}
所以,我的问题是,如果我只创建私有实例会不会一样DBContext
,也就是说,
private ApplicationDbContext = new ApplicationDbContext();
请您解释一下为什么作者决定创建DBContext
如上所示的实例以及它有什么好处。
解决方案
这只是一种习惯,没有什么特别的原因。如果从构造函数中更改它,我的偏好是在构造函数中进行初始化,否则在初始化时赋值。
编辑 :
以下是相同的初始化:
私有 ApplicationDbContext 上下文;
public CustomerController()
{
context = new ApplicationDbContext();
}
和
private ApplicationDbContext = new ApplicationDbContext();
但最终,在某些时候,您的构造函数将被重载,如下所示:
public CustomerController(IService1 service1, IService2 service2)
{
// initialization here probably using DI
// so it will looks consistant if you keep initialization at one place
context = new ApplicationDbContext();
}
推荐阅读
- vbscript - Sap Logon automate login using vsbcript
- laravel - Access Method in a hasManyThorugh
- html - 使用 :not(selector) 选择除少数之外的所有元素
- python - 使用 Python 解析北欧格式(首先是 DMY,然后是 YMD)日期的最佳方法
- ruby - ModBus TCP communication using Ruby: failing to implement HelloWorld
- sql - Sqllite PEG parser to support BigQuery SQL syntax
- openlayers - Color lookup table / Color manipulation / Color correction
- jquery - 无法使用 jQuery 序列化的 PHP post 变量检索
- git - 致命:无法读取 Visual Studio 的用户名
: 没有这样的设备或地址 - html - Disable events on element to be handled by underlying element