我使用实体框架工作创建了wpf应用程序(数据第一个approch) 现在连接字符串自动创建了app config
但我希望从放在C盘中的文本文件中获取连接字符串
答案 0 :(得分:1)
替换上下文文件中的Method1()方法
public Method1()
: base("name=DB_Entities" )
{
//}
使用
public Method1()
{
this.Database.Connection.ConnectionString = GlobalVariable.Conn;
}
您可以将GlobalVariable.Conn替换为您的连接srting或创建Globalvaliable类文件并获取表单。
答案 1 :(得分:0)
您可以在运行时更改连接字符串,如下所示: Entity Framework change connection at runtime
但您需要修改上述链接的第一个答案中的代码:
var configNameEf = string.IsNullOrEmpty(configConnectionStringName)
? source.GetType().Name
: configConnectionStringName;
// add a reference to System.Configuration
var entityCnxStringBuilder = new EntityConnectionStringBuilder
(System.Configuration.ConfigurationManager
.ConnectionStrings[configNameEf].ConnectionString);
为:
var cString = File.ReadLines(@"c:\nameofyourfilewithconnectionstring.txt").FirstOrDefault();
if (cString !=null)
{
var entityCnxStringBuilder = new EntityConnectionStringBuilder(cString);
...
}
答案 2 :(得分:0)
对我来说(我试图更改数据实体框架模型数据库的数据库来源),最快的解决方案(但并非无风险)是
'''
string s = File.ReadAllText("./CheckCenter.exe.config");
s = Regex.Replace(s, "(?<=data source=)(.*)(?=;initial catalog=)", newIp+ ",1433");
File.WriteAllText("./CheckCenter.exe.config", s);
'''
希望它能提供帮助^ _ ^