Can I just point the connection string in Dbml.designer.cs
to the connectionstring in the app.conf
? I wrote the code below which it successfully point to the app.config
.
public leDataContext() :
base(ConfigurationManager.ConnectionStrings["leConnString"].ToString(), mappingSource)
{
OnCreated();
}
However whenever i modify or add a table into the dbml, it will start to auto replace that code into this
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();
}
I have expanded 开发者_开发问答the "Connection" option. Set "Application Settings" to False
This is more like an extension to @Alex's answer.
Step 1 : Set the connection property of your .dbml file to “none”.
Step 2 : Create a new separate partial class with the same name as that of the existing partial class for the .dbml file. And set the connectionString property by using the parameterless constructor.
public partial class DataClassesDataContext
{
public DataClassesDataContext() : base(ConfigurationManager.ConnectionStrings["Dev-connString"].ConnectionString)
{
OnCreated();
}
}
Step 3 : Almost Done ! Lastly you need to define your connectionString in your app.config file, as shown below.
<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>
You can now easily change the connectionString from the app.config file without having to re-compile your code, which would be the case otherwise.
Why did I create a seperate partial class ? Can’t I edit the existing Dbml.designer.cs file ?
Don’t modify Dbml.designer.cs file manually, because it will be rewritten when you add/edit/delete a table, stored proc etc.
Don't modify Dbml.designer.cs
file manually, because it will be rewritten when you edit/add a table etc. as you said. Instead of this set the Connection
property for the .dbml
designer file to None
and add a partial class with parameterless constructor:
public partial class leDataContext
{
public leDataContext() :
base(ConfigurationManager.ConnectionStrings["leConnString"].ToString())
{
OnCreated();
}
}
精彩评论