为了账号安全,请及时绑定邮箱和手机立即绑定

在C#控制台应用程序中访问dbContext

在C#控制台应用程序中访问dbContext

C#
呼啦一阵风 2021-05-06 09:08:14
我试图弄清楚这一点,但是我被困住了。我有一个带有Service / Repo / Api / Angular层的Net Core 2应用程序-但是现在我想“添加”控制台应用程序并访问我已经建立的所有好东西。我似乎陷入了混乱的静态对象和DI和null参数。无论如何,这是我的代码的简化版本。namespace SimpleExample{    class Program    {        private static ApplicationDbContext _appDbContext;        public Program(ApplicationDbContext appDbContext)        {            _appDbContext = appDbContext;        }        static void Main(string[] args)        {            var instance = new Program();  // this doesn't work!            var instance = new Program(_appDbContext);  // neither does this!            instance.GetData();        }        private void GetData()        {            Console.WriteLine("Let's read some data! Press a key to continue.");            Console.ReadLine();            var data = "my data";            var result = GetId(data);        }        private string GetId(string original)        {            var data = _appDbContext.Data                .Where(x => x.Name == original.Trim)                .FirstOrDefault();            return data;        }    }}我正在经典“非静态字段需要对象引用”错误。然后,从这里进行研究,我将其更改为静态,然后一切都变为空。不只是我要注入的DbContext。我也在尝试注入私人ManagerService _managerService;但出现相同的错误。更新如果我尝试私有静态ApplicationDbContext _appDbContext = new ApplicationDbContext();如下面几次建议,那么我得到了错误没有给出与“ ApplicationDbContext.ApplicationDbContext(DbContextOptions)”所需的形式参数“ options”相对应的参数
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 233 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信