可我只是点了连接字符串中Dbml.designer.cs
在ConnectionString中app.conf
?我写下了它成功指向的代码app.config
.
public leDataContext() :
base(ConfigurationManager.ConnectionStrings["leConnString"].ToString(), mappingSource)
{
OnCreated();
}
Run Code Online (Sandbox Code Playgroud)
但是每当我修改或向dbml添加一个表时,它都会开始自动将该代码替换为此代码
public leDataContext() :
base("Data Source=.\\SQLEXPRESS;AttachDbFilename=\"D:\\My Projects\\App_Data\\le.mdf\";Integrated Security=True;Connect Timeout=30;User Instance=True", mappingSource)
{
OnCreated();
}
Run Code Online (Sandbox Code Playgroud)
我扩展了"连接"选项.将"应用程序设置"设置为False
Yas*_*ser 50
这更像是@Alex答案的延伸.
步骤1:将.dbml文件的连接属性设置为"none".
步骤2:创建一个新的单独的部分类,其名称与.dbml文件的现有部分类的名称相同.并使用无参数构造函数设置connectionString属性.
public partial class DataClassesDataContext
{
public DataClassesDataContext() : base(ConfigurationManager.ConnectionStrings["Dev-connString"].ConnectionString)
{
OnCreated();
}
}
Run Code Online (Sandbox Code Playgroud)
第3步:几乎完成!最后,您需要在app.config文件中定义connectionString,如下所示.
<connectionStrings>
<add
name="Dev-connString"
connectionString="Data Source=yasser-home;Initial Catalog=pp;Persist Security Info=True;User ID=sa;Password=gogole"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
您现在可以轻松地从app.config文件更改connectionString,而无需重新编译代码,否则就是这种情况.
为什么我要创建一个单独的分类?我无法编辑现有的Dbml.designer.cs文件?
不要手动修改Dbml.designer.cs文件,因为在添加/编辑/删除表,存储过程等时会重写它.
Ale*_*lex 40
不要Dbml.designer.cs
手动修改文件,因为当您编辑/添加表格等时,它将被重写.而不是设置设计器文件的Connection
属性,并添加一个带无参数构造函数的分部类:.dbml
None
public partial class leDataContext
{
public leDataContext() :
base(ConfigurationManager.ConnectionStrings["leConnString"].ToString())
{
OnCreated();
}
}
Run Code Online (Sandbox Code Playgroud)