5

necesito para conectarse a una base de datos SQLite en lo que he descargado e instalado System.Data.SQLite y con el diseñador arrastré todos mis mesas.ObjectContext ConnectionString SQLite

El diseñador crea un archivo .cs con

public class Entities : ObjectContext 

y 3 constructores:

primera

public Entities() : base("name=Entities", "Entities") 

éste se carga la cadena de conexión de App.config y funciona bien.

App.config

<connectionStrings> 
    <add name="Entities" connectionString="metadata=res://*/Db.TracModel.csdl|res://*/Db.TracModel.ssdl|res://*/Db.TracModel.msl;provider=System.Data.SQLite;provider connection string=&quot;data source=C:\Users\Filipe\Desktop\trac.db&quot;" providerName="System.Data.EntityClient" /> 
</connectionStrings> 

segundo

public Entities(string connectionString) : base(connectionString, "Entities") 

tercera

public Entities(EntityConnection connection) : base(connection, "Entities") 

Aquí está el problema, ya probé la configuración n, ya utilicé EntityConnectionStringBuilder para hacer la cadena de conexión sin suerte.

¿Me podría apuntar en la dirección correcta !?

EDITAR (1)

que puedo hacer mis preguntas si yo uso de constructor sin parámetros, pero tengo que cambiar la cadena de conexión, no puedo usar el de mi app.config.

¿Cómo puedo construir una cadena de conexión válida?

+1

su pregunta no es clara. –

Respuesta

7

encontré =)

si se utiliza el EntityConnectionStringBuilder para especificar el Metadata y la Provider y utilizar el SqlConnectionStringBuilder para construir la cadena de conexión y establecer el proveedor de DataSource a su base de datos. Puede conectar =)

var con = new EntityConnectionStringBuilder() 
    { 
    Metadata = @"res://*/Db.TracModel.csdl|res://*/Db.TracModel.ssdl|res://*/Db.TracModel.msl", 
    Provider = @"System.Data.SQLite", 
    ProviderConnectionString = new SqlConnectionStringBuilder() 
     { 
     DataSource = db, 
     }.ConnectionString, 
    }; 

connection = con.ConnectionString; 
Cuestiones relacionadas