C# .net core 2.1中类控制器中的数据库
我正在学习我的一门课程,关于.NETCore2.1Web开发,我对这门课程不太熟悉,我了解其中的大部分内容,尽管这一切看起来也有点奇怪。下面的代码中有一个奇怪的部分我没有完全理解。(尽管如此,我还是到处使用它)。虽然我知道需要一个数据库,但在下面的代码中我并没有真正理解_db和db。(我不是以英语为母语的人)所以我没能解释清楚。有人能用_db和db解释一下下面的代码中发生了什么吗C# .net core 2.1中类控制器中的数据库,c#,controller,.net-core,C#,Controller,.net Core,我正在学习我的一门课程,关于.NETCore2.1Web开发,我对这门课程不太熟悉,我了解其中的大部分内容,尽管这一切看起来也有点奇怪。下面的代码中有一个奇怪的部分我没有完全理解。(尽管如此,我还是到处使用它)。虽然我知道需要一个数据库,但在下面的代码中我并没有真正理解_db和db。(我不是以英语为母语的人)所以我没能解释清楚。有人能用_db和db解释一下下面的代码中发生了什么吗 using System; using System.Collections.Generic; using Syst
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using GraniteHouse.Data;
using GraniteHouse.Models;
using Microsoft.AspNetCore.Mvc;
namespace GraniteHouse.Areas.Admin.Controllers
{
[Area("Admin")]
public class ProductTypesController : Controller
{
private readonly ApplicationDbContext _db;
public ProductTypesController(ApplicationDbContext db)
{
_db = db; //some kind of self refrence but why ???
}
这是依赖注入。基本上,IoC容器是在
ApplicationDbContext
的实例中注入的。然后将其分配给一个只读字段,该字段可从类中的其他方法使用(这是必需的,因为db
在其所在的方法之外不可用,但\u db
可在整个类中访问)。有什么你不明白的吗?所有这些操作都是将私有变量设置为传递给构造函数的值。你是在问什么是构造函数吗?赋值给变量做什么?还有别的吗?