我想知道是否有一种简单的方法可以在 ASP.NET Core 中逐层确定接口的实现。
是否有一种简单的方法可以让应用程序层自动为所有潜在的 DataAccess.Customer 和 DataAccess.Employee 存储库注入不同的 IMySqlConnections?
或者有更好的方法来处理这个问题吗?
谢谢!
如果您正在使用或可以升级到.NET 8,您可以使用新引入的功能,允许密钥服务注册。例如:
builder.Services.AddKeyed{Lifetime}<IMySqlConnections>("Customer", (sp, key) => ...);
builder.Services.AddKeyed{Lifetime}<IMySqlConnections>("Employee", (sp, key) => ...);
在达尔:
public class Customer
{
public Customer([FromKeyedServices("Employee")] IMySqlConnections connections)
{
// ...
}
}