我有一个ASP.NET 5 MVC Web应用程序,在Startup.cs中我看到了公共属性
IConfigurationRoot Configuration
Run Code Online (Sandbox Code Playgroud)
正在设定
builder.Build();
在整个MVC Web应用程序中,我可以做到
Startup.Configuration["Data:DefaultConnection:ConnectionString"]
Run Code Online (Sandbox Code Playgroud)
从appsettings.json文件中获取conn字符串.
如何appsettings.json使用构造函数注入将ASP.NET 5 MVC中指定的连接字符串传递到我的存储库类库?
更新:
这是所有其他存储库继承的基本存储库(如您所见,我现在在这里有一个硬编码连接字符串):
public class BaseRepo
{
public static string ConnectionString = "Server=MYSERVER;Database=MYDATABASE;Trusted_Connection=True;";
public static SqlConnection GetOpenConnection()
{
var cs = ConnectionString;
var connection = new SqlConnection(cs);
connection.Open();
return connection;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的appsettings.json文件中的asp.net 5 Web应用程序中,我有以下内容,相当于将连接字符串添加到.net 4.5 webapp中的web.config:
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=MYSERVER;Database=MYDATABASE;Trusted_Connection=True;"
}
}
Run Code Online (Sandbox Code Playgroud)
另外在我的asp.net 5 Web应用程序中,我的Startup.cs中有以下默认代码,它将站点配置加载到IConfigurationRoot类型的公共属性中:
public IConfigurationRoot Configuration { get; set; }
// Class Constructor
public Startup(IHostingEnvironment env)
{ …Run Code Online (Sandbox Code Playgroud)