在我的 asp.net 核心解决方案中,我有 2 个项目:asp.net 应用程序和带有模型层的库,其中包含模式存储库。

我要求应用程序中的 DI 实现我的界面

services.AddTransient<IRepositrory, Repository>();

但!存储库构造函数有参数
public Repository(string connectionString)
{
    _appDBContext = new AppDBContext(connectionString);
}

如何正确配置 DI 以使用来自 appsettings.json (asp.net app) 的特定字符串创建存储库?

最佳答案

有一个接受实现工厂的重载

services.AddTransient<IRepository>(isp => new Repository(conn));

您可以使用获取连接字符串
Configuration.GetConnectionString("DefaultConnection")

关于c# - ASP.NET Core 依赖注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38272565/

10-14 18:54
查看更多