gpt4 book ai didi

c# - 动态传递实体连接字符串 - 具有多个环境的多个实体

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:31 24 4
gpt4 key购买 nike

我的项目中有多个实体。我的客户不想在 web.config 文件中保留任何连接字符串。所以他们将为 Octopus 中的每个实体创建环境变量,这将在我的项目中创建一个环境配置文件。所以我需要读取这个环境变量并将其传递给实体。

我不能使用参数化构造函数,因为它需要大量代码更改。无法修改自动生成的实体上下文文件。

我已经尝试过部分类和参数化构造函数。

public partial class SitesEntities
{
public SitesEntities(string conn)
: base(GetConnectionString())
{

}

public static string GetConnectionString()
{
//code
}
}

这需要在初始化每个实体时更改代码。这对我们来说是一项具有挑战性的任务,因为我们在很多地方都在使用它

 using (SitesEntities entities = new SitesEntities())
{
//code
}

有人可以为此建议任何替代解决方案吗?

最佳答案

依赖注入(inject)可以很好地解决这个问题。但我认为你已经提到的方式也应该有效(虽然很丑):

public partial class SitesEntities
{
public SitesEntities()
: base(GetConnectionString())
{
}

public static string GetConnectionString()
{
return Environment.GetEnvironmentVariable("my_env_varible");
}
}

如果这对您不起作用,我误解了什么?

关于c# - 动态传递实体连接字符串 - 具有多个环境的多个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083265/

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