2011-02-04 4 views
5

Мне очень сложно использовать SQLite db с EF CTP5. Я просто пытался выполнить этот MSDN example с SQLite. Но на линииКак заставить Entity Framework CTP5 работать с SQLite?

var food = db.Categories.Find("FOOD"); 

Я получаю исключение во время выполнения:

System.Data.SQLite.SQLiteException (0x80004005): SQLite errorno такую ​​таблицу: Категории

Примечание: Файл app.config должен быть изменен и следующий:

App.config

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" /> 
    </startup> 
    <runtime> 
    <generatePublisherEvidence enabled="false" /> 
    </runtime> 
    <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, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" /> 
    </DbProviderFactories> 
    </system.data> 
    <connectionStrings> 
    <add name="ProductContext" connectionString="Data Source=D:\CodeFirst.db;Version=3;New=True;" providerName="System.Data.SQLite" /> 
    </connectionStrings> 
</configuration> 
+0

Возможно, форум EF на сайте System.Data.SQLite - лучшее место, чтобы спросить? http://sqlite.phxsoftware.com/forums/29.aspx –

ответ

4

Мне кажется, что текущий SQLite.net не поддерживает код Entity Framework CTP5. Придется ждать, чтобы это произошло.

3

System.Data.SQLite не обеспечивает создание базы данных CreateDatabase() и DeleteDataase() на данный момент. По крайней мере, this forum post остается без ответа примерно на месяц.
Мы уже предлагаем как создание динамической базы данных, так и поддержку CTP 5, и планируем в блоге о поддержке CTP 5 в dotConnect for SQLite в ближайшее время.
ОБНОВЛЕНИЕ. Доступен CTP 5 article. Он содержит некоторые примечания, касающиеся особенностей создания базы данных, и образец, иллюстрирующий использование CTP 5.

+0

Devart - с нетерпением ждет сообщение в блоге. Я не могу найти NO информацию о dotconnect для sqlite с первым кодом ctp5. Никто! Я даже разместил на форуме Devart и отправил электронное письмо с сайта Devart. –

+0

@ user327325, мы выпустили статью. См. Обновление для ответа. – Devart

0
+0

Хотя это теоретически может ответить на вопрос, [было бы предпочтительно] (http://meta.stackexchange.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. – Jack

0

Добавление

Database.SetInitializer<MyDataContext>(null); 

работает для меня. Я использую код EF5 с Sqlite

Смежные вопросы