2010-12-13 26 views
10

Después de mi éxito al usar SQLite con NHibernate, estoy muy contento de usarlo para probar primero con Entity Framework Code.SQLite con EF Code First

Si tiene algunos ejemplos de conexión de cadenas y configuración de demos, sería genial y ahorraría un poco de tiempo de mi agitado día.

Muchas gracias.

EDIT:

Vale la pena mencionar que estoy recibiendo este error durante la depuración en la aplicación de las acciones a través de la crud "contexto de datos" EF:

No se puede determinar el nombre del proveedor para la conexión de tipo 'System.Data .SQLite.SQLiteConnection '.

<system.data> 
    <DbProviderFactories> 
     <remove invariant="System.Data.SQLite"/> 
     <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" 
    type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> 
    </DbProviderFactories> 
</system.data> 


<connectionStrings> 
    <add name="DataContext" 
     connectionString="Data Source=:memory:;Version=3;New=True;" 
     providerName="System.Data.SQLite" 
    /> 
</connectionStrings> 

Espero que EF se integre con SQLite de esta manera. Aunque el mensaje de error, alarmantemente, sugiere probablemente no.

+0

Podría resolver su problema ya? – codymanix

Respuesta

5

Code First debería funcionar bien con cualquier proveedor de nivel ADO.NET 3.5 (estos implementan la funcionalidad de Entity Framework).

Los proveedores con capacidad 4.0 también agregan funcionalidad DeleteDatabase/CreateDatabase/DatabaseExists.

Código Primero no requiere funcionalidad de proveedor adicional más allá de estos.

Lo que pasa es que mira el tipo de conexión y luego trata de asignarla al proveedor y a su fábrica proveedora para que pueda crear todo lo demás que necesita.

Vale la pena verificar para asegurarse de tener instalado un proveedor SQLLite actualizado en su GAC que admita la funcionalidad de nivel 3.5.

6

Es necesario utilizar el conjunto de nombre calificado:

<add name="SQLite Data Provider" 
    invariant="System.Data.SQLite" 
    description=".Net Framework Data Provider for SQLite" 
    type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" /> 
Cuestiones relacionadas