Punto connectionstring en dbml a la aplicación.config
¿Puedo apuntar la cadena de conexión en Dbml.designer.cs
a la cadena de conexión en el app.conf
? Escribí el código debajo del cual apunta con éxito al app.config
.
public leDataContext() :
base(ConfigurationManager.ConnectionStrings["leConnString"].ToString(), mappingSource)
{
OnCreated();
}
Sin embargo, cada vez que modifique o agregue una tabla en el dbml, comenzará a reemplazar automáticamente ese código en este
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();
}
He ampliado la opción "Conexión". Establecer" Configuración de la aplicación " a False
2 answers
No modifique el archivo Dbml.designer.cs
manualmente, porque se reescribirá cuando edite/agregue una tabla, etc. como dijiste. En lugar de esto, establezca la propiedad Connection
para el archivo de diseñador .dbml
en None
y agregue una clase parcial con constructor sin parámetros:
public partial class leDataContext
{
public leDataContext() :
base(ConfigurationManager.ConnectionStrings["leConnString"].ToString())
{
OnCreated();
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-01 12:40:14
Esto se parece más a una extensión de la respuesta de @Alex.
Paso 1 : Establezca la propiedad de conexión de su .archivo dbml a "ninguno".
Paso 2: Crear una nueva clase parcial separada con el mismo nombre que el de la clase parcial existente para el .archivo dbml. Y establezca la propiedad ConnectionString utilizando el constructor sin parámetros.
public partial class DataClassesDataContext
{
public DataClassesDataContext() : base(ConfigurationManager.ConnectionStrings["Dev-connString"].ConnectionString)
{
OnCreated();
}
}
Paso 3: Casi listo ! Por último es necesario para definir su connectionString en su app.archivo de configuración, como se muestra a continuación.
<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>
Ahora puede cambiar fácilmente la ConnectionString desde la aplicación.archivo de configuración sin tener que volver a compilar su código, que sería el caso de lo contrario.
¿Por qué creé una clase parcial separada ? No puedo editar el Dbml existente.diseñador.cs archivo ?
No modifique Dbml.diseñador.archivo cs manualmente, porque se reescribirá cuando agregue / edite / elimine una tabla, un proceso almacenado, etc.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-22 05:29:52