【发布时间】:2016-02-04 10:09:50
【问题描述】:
我主要将我的 dbcontext 与这样的语句一起使用:
using (var context = new MyContext())
{
}
但我后来不得不添加一个具有更改数据库功能的项目。我发现我可以将我的 dbcontext 构造函数更改为:
public MyContext(string connectionstring)
: base(connectionstring)
{
}
我创建了一个带有连接字符串属性的类:
public static class DbAccessor
{
public static string ConnectionStringForContext { get; set; }
}
我在开始时设置了这个属性,我的 using 语句如下所示:
using (var context = new MyContext(DbAccessor.ConnectionStringForContext)
{}
它有效,但我的连接字符串现在无处不在,我觉得我不应该对连接字符串这样做。有没有更好的方法来做到这一点?如果我想更改它们,处理我的连接字符串的最佳方法是什么?我应该停止使用这些 using 语句吗?
我看过这个问题:Entity Framework change connection at runtime
但不同的是,我有一个有效的解决方案,但我不想到处都有我的连接字符串。如果我在每个 using 语句中都使用了该扩展方法。这几乎就像我的解决方案一样,在每个 using 语句中只增加一行......
【问题讨论】:
标签: c# entity-framework database-connection connection-string