1. 修改Settings.Designer.cs的连接字符串,把只读属性改为可读写。注意,在新添加配置数据时,IDE会把你添加的内容删除。还需再次添加。
public string ConnectionString {get {
return ((string)(this["ConnectionString"]))}//此为新添加的。set {
this["ConnectionString"] = value}}
2. 在实例化适配器前修改字符串。
如果只是想修改连接的计算机名(或者sql服务名),我试过下面的代码是成功的。我的步骤,先新建Model,运行成功,然后修改app.config里的连接字符串里的计算机名,运行报错,然后在用代码手动修改回正确的计算机名,运行成功。
static void Main(string[] args){
NorthwindEntities en = new NorthwindEntities()
string constr = @"data source=.\sqlexpress
initial catalog=Northwindintegrated security=True
MultipleActiveResultSets=TrueApp=EntityFramework&quot"
en.Database.Connection.ConnectionString = constr
Console.WriteLine(en.Employees.Count())
Console.ReadLine()
}
自定义的类 不能使用using。需要释放或者关闭的可以用using 比如
using(SqlConnection conn=new SqlConnection()){}
你只能
DashengDbContext context = new DashengDbContext()
contenxt.方法()
假设是AppSettings节点下
string connectionString=
System.Configuration.ConfigurationManager.AppSettings["RSDbContext"]
或者 直接读取xml文件 即节点add 下的属性name=RSDbContext的
模仿下面的读取xml代码
//using System.Xml/// <summary>
/// 通过键获取appSettings的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetValueByKey(string key)
{
XmlDocument doc = new XmlDocument()
doc.Load(AppDomain.CurrentDomain.BaseDirectory + "config.xml")
XmlNode node = doc.DocumentElement.ChildNodes[1]
//找到appSettings节点
foreach (XmlNode childNode in node.ChildNodes)
{
if (childNode.Name == "add" && childNode.Attributes["name"] != null && childNode.Attributes["name"].InnerText == key)
{
return childNode.Attributes["connectionString"].InnerText
}
}
return ""
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)