visual studio net framework for descargar data c# .net entity-framework-4 sqlite3 system.data.sqlite

c# - net - sqlite visual studio 2015



La clave externa SQLite no se activa (1)

La activación de claves externas solo funciona durante la vida de la conexión de la base de datos. De forma predeterminada, ObjectContext abrirá una conexión y la cerrará cada vez que interactúe con la base de datos, invocando SaveChanges() , ExecuteStoreCommand() , o de lo contrario. Si no desea este comportamiento, debe abrir manualmente la conexión e, idealmente, volver a cerrarla cuando haya terminado con el objeto ObjectContext .

Yo prefiero activar claves externas en la cadena de conexión, para no tener que preocuparme por ninguna de las anteriores.

Por ejemplo, en su archivo app.config tendría algo como esto (busque foreign keys=True hacia el final del atributo connectionString ):

<configuration> <connectionStrings> <add name="DataBaseEntity" connectionString="metadata=res://*/m.csdl|res://*/m.ssdl|res://*/m.msl;provider=System.Data.SQLite;provider connection string=&quot;data source=C:/foo.db;foreign keys=True&quot;" providerName="System.Data.EntityClient" /> </connectionStrings> </configuration>

Creo que esto debería funcionar con su proveedor ADO .Net, pero no puedo hacer promesas. Si actualiza a la última versión disponible en el sitio web de SQLite , aumenta sus probabilidades de que funcione correctamente.

Estoy usando el trabajo de Entity Frame y el resto es mi método de crear contexto, he habilitado la clave externa cada vez que se llama, pero para mi sorpresa la variable de valor siempre es 0

private static DataBaseEntity CreateContext() { var context = new DataBaseEntity("name=DataBaseEntity"); context.ExecuteStoreCommand("PRAGMA foreign_keys = ON"); var value = context.ExecuteStoreCommand("PRAGMA foreign_keys"); return context; }

Quiero tener cascada en la funcionalidad de eliminación, pero no puedo obtenerlo ya que la restricción de clave externa no se establece

Estoy usando SQLite 3.6.23.1 con el proveedor de ado.net