[英]Can I safely use the non-generic DbContextOptions in ASP.NET Core and EF Core?
[英]DbContextOptions parameters ASP.net core
我收到ArgumentNullException:值不能為null。 參數名稱:options我認為這是因為我的默認構造函數使我為null,但是如果我注釋掉該構造函數,則該類的新實例需要的參數我不知道要提供什么。
public class OvertimeRequestBusiness
{
public static OvertimeRequestBusiness Instance { get; } = new OvertimeRequestBusiness();
private readonly DbContextOptions<DatabaseContext> _contextOptions;
//default ctor
public OvertimeRequestBusiness() : base() { }
public OvertimeRequestBusiness(DbContextOptions<DatabaseContext> contextOptions)
{
_contextOptions = contextOptions;
}
public async Task<List<User>> GetAllUsersAsync()
{
using (var ctx = new DatabaseContext(_contextOptions))
{
var query = ctx.Users;
var res = await query.ToListAsync();
return res;
}
}
}
在我的控制器中
[Route("users")]
[HttpGet]
public async Task<List<User>> GetAllUsers()
{
return await OvertimeRequestBusiness.Instance.GetAllUsersAsync();
}
這是創建DbContextOptions
:
var optionsBuilder = new DbContextOptionsBuilder<DatabaseContext>();
optionsBuilder.UseSqlServer("connection_string_here");
然后DbContextOptions<DatabaseContext>
將作為optionsBuilder.Options
可用。 您可以將其傳遞給OvertimeRequestBusiness.ctor
:
new OvertimeRequestBusiness(optionsBuilder.Options);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.