我的项目中有多个实体。我的客户不想在web.config文件中保留任何连接字符串。因此,他们将为章鱼中的每个实体创建环境变量,并在我的项目中创建环境配置文件。所以我需要读取这个环境变量并将其传递给实体。
我不能使用参数化的构造函数,因为它需要大量的代码更改。 无法修改自动生成的实体上下文文件。
我已经尝试过使用partial class和parametarized构造函数。
public partial class SitesEntities
{
public SitesEntities(string conn)
: base(GetConnectionString())
{
}
public static string GetConnectionString()
{
//code
}
}
这需要在初始化每个实体时更改代码。这对我们来说是一项具有挑战性的任务,因为我们在很多地方使用它
using (SitesEntities entities = new SitesEntities())
{
//code
}
有人可以为此建议任何替代解决方案吗?
答案 0 :(得分:0)
依赖注入将是很棒的解决这个问题。但我认为你已经提到的方式也应该有用(它很难看,但是):
public partial class SitesEntities
{
public SitesEntities()
: base(GetConnectionString())
{
}
public static string GetConnectionString()
{
return Environment.GetEnvironmentVariable("my_env_varible");
}
}
如果那不适合你,我会错过什么?