es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Inyecte la cadena de conexión con código en la base de datos primero en EF6.

Tengo varios proyectos en mi solución y creo que hay prjBook y prjLibrary.
Instalé EF6 en prjBook y lo agregué(prjBook) a prjLibrary como referencia. Cuando ejecuto prjBook por sí solo, todo está bien y selecciona y obtiene datos exitosamente, pero cuando lo ejecuto desde prjLibrary muestra el error: “no se puede encontrar la cadena de conexión”.
Sé que este error se debe a que no hay ningún campo de cadena de conexión en el archivo de configuración de la aplicación de prjLibrary.
Mi pregunta es cómo podría inyectar la cadena de conexión del proyecto prjBook en el proyecto prjLibrary? Por ejemplo, inyectar la cadena de conexión con código en el dbContext de prjBook.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para inyectar la cadena de conexión del proyecto prjBook en el proyecto prjLibrary, puedes seguir estos pasos:

    1. En el proyecto prjLibrary, crea un archivo app.config si no existe.
    2. Agrega una entrada de cadena de conexión al archivo app.config con el mismo nombre que se utiliza en el proyecto prjBook. Por ejemplo:

    <connectionstrings>
      <add name="MyDbContext" connectionstring="Data Source=.\SQLEXPRESS;Initial Catalog=MyDatabase;Integrated Security=True" providername="System.Data.SqlClient"></add>
    </connectionstrings>
    
    1. En el proyecto prjBook, crea una nueva instancia de la clase DbContext y pasa la cadena de conexión como parámetro:
    var connectionString = ConfigurationManager.ConnectionStrings["MyDbContext"].ConnectionString;
    var dbContext = new MyDbContext(connectionString);
    
    1. Exporta prjBook como una DLL y añádela como referencia en prjLibrary.

    2. En el código de prjLibrary donde quieras utilizar el DbContext de prjBook, crea una nueva instancia de la clase DbContext y pasa la cadena de conexión del archivo app.config:

    var connectionString = ConfigurationManager.ConnectionStrings["MyDbContext"].ConnectionString;
    var dbContext = new MyDbContext(connectionString);
    

    Con esto deberías poder inyectar la cadena de conexión de prjBook en prjLibrary en tiempo de ejecución.

Comments are closed.