Я использую c #, ASP.NET Core, EF.
У меня есть Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
...
}
У меня есть контроллер:
public class HomeController : Controller
{
public AppDbContext _db;
public HomeController(AppDbContext db)
{
_db = db;
}
public IActionResult Index()
{
// _db is NOT NULL
var d = _db.Users.FirstOrDefault();
}
}
У меня естьКласс MyService.cs:
public class MyService
{
public static AppDbContext _db;
public MyService(AppDbContext db)
{
_db = db;
}
public static void GetOtherValue()
{
// _db is NULL
var d = _db.Users.FirstOrDefault();
}
}
HomeController работает правильно: _db не равно нулю.
Почему переменная _db равна нулю в MyService.cs ?Как это исправить?
UP:
public class OtherController : Controller
{
....
MyService.GetOtherValue();
....
}