gpt4 book ai didi

c# - Ninject Providers -> 在提供者中获取另一个依赖项

转载 作者:行者123 更新时间:2023-11-30 14:53:12 24 4
gpt4 key购买 nike

我想知道这里有哪些最佳实践。我需要为我的 Multi-Tenancy 应用程序构建一个 DbContext,所以我制作了一个这样的依赖项提供程序:

public class TenantContextFactoryProvider : Provider<DbContext>
{
protected override DbContext CreateInstance(IContext context)
{
var tenant = // How to get the tenant through ninject??
return new DbContext(tenant.ConnectionString);
}
}

我需要 ninject 来解决租户依赖关系,但我不确定该怎么做?

最佳答案

虽然服务定位器确实有效,但构造函数注入(inject)是另一种选择。

public class TenantContextFactoryProvider : Provider<DbContext>
{
ITenant tenant;
public TenantContextFactoryProvider(ITenant tenant)
{
this.tenant = tenant;
}

protected override DbContext CreateInstance(IContext context)
{
return new DbContext(tenant.ConnectionString);
}
}

关于c# - Ninject Providers -> 在提供者中获取另一个依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30001121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com