2010-12-13 12 views
10

Po sukcesie z użyciem SQLite z NHibernate, jestem bardzo szczęśliwy, że mogę go użyć do testowania z Entity Framework Code First.SQLite z kodem EF Najpierw

Jeśli masz przykładowy łańcuch połączeń i gotowe dema, to byłoby wspaniale i zaoszczędzić trochę czasu od mojego gorączkowego dnia.

Wielkie dzięki.

EDIT:

Warto wspomnieć, że ja dostaję ten błąd podczas debugowania przy stosowaniu działań CRUD za pośrednictwem EF „kontekstu danych”:

Nie można określić nazwę dostawcy dla połączenia typu „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> 

Mam nadzieję, że EF integruje się z SQLite w ten sposób. Chociaż komunikat o błędzie, alarmująco sugeruje, że nie.

+0

można rozwiązać już twój problem? – codymanix

Odpowiedz

5

Kod Najpierw powinien działać dobrze z każdym dostawcą poziomu ADO.NET 3.5 (te implementują funkcjonalność Entity Framework).

Dostawcy usług 4.0 również dodają funkcję DeleteDatabase/CreateDatabase/DatabaseExists.

Kod Najpierw nie wymaga żadnej dodatkowej funkcjonalności dostawcy.

Co się dzieje, to wygląda na typ połączenia, a następnie próbuje odwzorować, że z powrotem do dostawcy i jego fabryki dostawców, dzięki czemu można stworzyć wszystko, czego potrzebuje.

Warto sprawdzić, czy masz aktualnego dostawcę SQLLite zainstalowanego w GAC, który obsługuje funkcje poziomu 3,5.

6

Musisz użyć montażowej nazwę kwalifikowaną:

<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" /> 
Powiązane problemy