【发布时间】:2018-08-23 06:52:52
【问题描述】:
我正在使用 .NET Core 2.0 和 ADO.NET,但我遇到了一个问题:我应该如何将 DI 用于我的连接字符串?
在我有一个 DbContext(我注入它)之前,但现在没有了,因为我不再使用 EntityFramework(性能原因)。
我有 2 个基础项目(层),根站点和核心项目。
根层只负责MVC。核心层有我的业务和存储库逻辑。我的存储库需要连接字符串才能通过 ADO.NET 访问数据库。
类似:
using (SqlConnection conn = new SqlConnection(connectionString))
{
//...
}
我尝试了一些可行的解决方案,例如使用带有字符串的静态类来存储我的连接字符串,但我想知道最好的方法。
例子:
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
DatabaseConnection.ConnectionString = Configuration["ConnectionStrings:DefaultConnection"];
//...
}
【问题讨论】:
-
和你做其他事情的方式一样吗?
-
“最好”也取决于你的目标是什么。你还需要 DI 吗?
-
好的,我应该如何 DI 一个字符串?
-
从 DI 的角度来看,字符串与任何其他参数没有什么不同。
-
您是否在应用程序中确定了对 DI 的需求?为什么需要它?
标签: c# asp.net-core dependency-injection ado.net asp.net-core-2.0