asp.net-mvc – 如何在存储库MVC6中注入ApplicationDbContext的
发布时间:2020-12-16 03:30:12 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Asp.Net MVC 6 beta4和Repository Pattern. 在我的Startup.cs中我有这样的东西: services.AddEntityFramework() .AddSqlServer() .AddDbContextApplicationDbContext(options = options.UseSqlServer(Configuration["Data:DefaultConnection:Conn
我正在使用Asp.Net MVC 6 beta4和Repository Pattern.
在我的Startup.cs中我有这样的东西: services.AddEntityFramework() .AddSqlServer() .AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"])); //Dependency Injection services.AddTransient<IProductRepository,ProductRepository>(); 在我的控制器中,我可以使用以下命令获取ApplicationDbContext的实例: [FromServices] public ApplicationDbContext DbContext { get; set; } 但我无法使用上面的自我段代码在我的Repository实现中获取ApplicationDbContext的实例. 使用MVC 5,我在我的存储库中使用了ServiceLocator并使用了ApplicaionDbContext: var context = ServiceLocator.Current.GetInstance<ApplicationDbContext>() 如何使用Asp.NET MVC 6在我的存储库中获取ApplicationDbContext的实例? 解决方法
您可能想要的是使用AddScoped而不是AddTransient,以便在请求结束时正确清理上下文.
您还需要实际添加Context,而不仅仅是AddEntityFramework调用… services.AddScoped<IProductRepository,ProductRepository>(); services.AddScoped<ApplicationDbContext,ApplicationDbContext>(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- asp.net – 在内联.aspx页面中导入错误
- asp.net – 编辑GridView中一列的所有行
- asp.net-mvc-4 – ajax post works vs. angularj
- asp.net – 使用UpdatePanel的CollectionPager问
- asp.net-mvc – 由Url.Action生成的Asp.Net MVC错
- .net – <%#%>和<%=%>有什么区别?
- asp.net – 控制器!=业务层?
- asp.net-mvc – asp.net mvc在控制器构建期间的任
- 如何强制编译ASP.NET MVC视图?
- asp.net – 我可以在Medium trust中创建一个可写
热点阅读