Archiwum kategorii: SQLite

„DatabaseExists is not supported by the provider” – SQLite

Przez ostatni tydzień tworzyłem narzędzie do naszego kombajna. „Zrobiłem co trzeba”, została tylko formalność przeniesienia części danych… dodałem referencje do modelu i warstwy dostępu do danych, ustawiłem odpowiednie wartości w app.config i exception!

„DatabaseExists is not supported by the provider”

Jak? Zanim znalazłem rozwiązanie problemu trochę krwi sobie zepsułem. Na początku byłem przekonany, że coś jest nie tak w ustawieniach SQLite i Entity Framework, jak większość osób kojarzy domyślne ustawienia po ściągnięciu powyższych paczek z nuget’a po prostu nie działają – nie odnajduje providera – trzeba to poprawić. Z każdą nową wersją mamy zawsze jakieś problemy.

Stworzyłem testową aplikację od zera – działa, okazało się, że przeoczyłem poniższą linię:

[code]Database.SetInitializer<MyContext>(null);[/code]

Ok… bombastycznie, dodałem powyższy kod do swojego tool’a i ‚zabanglało’. Czemu jest ona tak bardzo pożądana? W parametrze podajemy null, bo domyślną wartością dla inicjatora jest CreateDatabaseIfNotExists. Dlaczego to nadpisywać? A bo nasz drogi SQLite nie wspiera tego rodzaju inicjalizacji.

Jestem świadom banalności tego posta, zresztą ostatecznie jak już znam rozwiązanie to znalezienie tego na stacku zajęło mi 30 sekund. Mam nadzieję, że komuś się przyda.

Źródło obrazka: wikihow.com