Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DbContextOptions参数ASP.net核心_C#_Asp.net Core_Entity Framework Core - Fatal编程技术网

C# DbContextOptions参数ASP.net核心

C# DbContextOptions参数ASP.net核心,c#,asp.net-core,entity-framework-core,C#,Asp.net Core,Entity Framework Core,我得到ArgumentNullException:值不能为null。参数名称:选项 我想这是因为我的默认构造函数,我得到了null,但是如果我注释掉了构造函数,那么类的新实例需要参数,我不知道该给出什么。请帮忙 public class OvertimeRequestBusiness { public static OvertimeRequestBusiness Instance { get; } = new OvertimeRequestBusiness();

我得到ArgumentNullException:值不能为null。参数名称:选项 我想这是因为我的默认构造函数,我得到了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;
            }
        }
    }
公共类超时请求业务
{
公共静态OvertimeRequestBusiness实例{get;}=new OvertimeRequestBusiness();
私有只读DbContextOptions_contextOptions;
//默认选择器
public OvertimeRequestBusiness():base(){}
public OvertimeRequestBusiness(DbContextOptions contextOptions)
{
_contextOptions=contextOptions;
}
公共异步任务GetAllUsersAsync()
{
使用(var ctx=newdatabasecontext(_contextOptions))
{
var query=ctx.Users;
var res=await query.ToListAsync();
返回res;
}
}
}
在我的控制器中

  [Route("users")]
        [HttpGet]
        public async Task<List<User>> GetAllUsers()
        {
          return await OvertimeRequestBusiness.Instance.GetAllUsersAsync();
        }
[路由(“用户”)]
[HttpGet]
公共异步任务GetAllUsers()
{
return wait OvertimeRequestBusiness.Instance.GetAllUsersAsync();
}

以下是如何创建
DbContextOptions

var optionsBuilder = new DbContextOptionsBuilder<DatabaseContext>();
optionsBuilder.UseSqlServer("connection_string_here");

你为什么使用你的类的静态实例?你救了我一天。非常感谢
new OvertimeRequestBusiness(optionsBuilder.Options);