C# 如何在控制器中获取数据库上下文
我一整天都在试图在默认MVC6项目的C# 如何在控制器中获取数据库上下文,c#,.net,asp.net-core,asp.net-core-mvc,asp.net-mvc-controller,C#,.net,Asp.net Core,Asp.net Core Mvc,Asp.net Mvc Controller,我一整天都在试图在默认MVC6项目的ManageController.cs中获取ApplicationDbContext 我上网搜索了很多次,但似乎没有人有和我一样的问题。这可能很简单,但我想不出来。 有人有主意吗 以下是我尝试过的: IServiceProvider service = new IServiceProvider(); var _context = service.GetService<ApplicationDbContext>(); IServiceProvide
ManageController.cs
中获取ApplicationDbContext
我上网搜索了很多次,但似乎没有人有和我一样的问题。这可能很简单,但我想不出来。
有人有主意吗
以下是我尝试过的:
IServiceProvider service = new IServiceProvider();
var _context = service.GetService<ApplicationDbContext>();
IServiceProvider服务=新的IServiceProvider();
var_context=service.GetService();
使用构造函数注入:
public class ManageController
{
private readonly ApplicationDbContext _context;
public ManageController(ApplicationDbContext context)
{
_context = context;
}
}
然后,您可以在控制器方法中使用
\u上下文
对象。文档部分提供了更多信息。我正在使用Visual Studio 2015 Update 3。Visual Studio的未来版本可能不需要以下某些步骤
“工具”:{}
在project.json
中定义appsettings.json
startup.cs
中ConfigureServices
的services.AddMvc()前面代码>
string connection=Configuration.GetConnectionString(“DefaultConnection”);
services.AddDbContext(options=>options.UseSqlServer(connection));
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools –Pre
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Tools -Pre
Install-Package Microsoft.VisualStudio.Web.CodeGenerators.Mvc -Pre
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.0.0-preview2-final",
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDatabaseName;Trusted_Connection=True;MultipleActiveResultSets=true"
},
string connection = Configuration.GetConnectionString("DefaultConnection");
services.AddDbContext<YourContextName>(options => options.UseSqlServer(connection));