5

EF CTP5 で SQLite データベースを使用するのに非常に苦労しています。このMSDN の例を SQLite で実行しようとしていました。しかし、ラインで

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

実行時例外が発生しています:

System.Data.SQLite.SQLiteException (0x80004005): SQLite エラーそのようなテーブルはありません: カテゴリ

注: 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>
4

4 に答える 4

4

現在のSQLite.netは最初にEntityFrameworkCTP5コードをサポートしていないようです。それが起こるのを待たなければならないでしょう。

于 2011-02-13T15:10:32.190 に答える
3

System.Data.SQLite は、現時点で CreateDatabase() および DeleteDataase() 動的データベース作成を提供していません。少なくとも、このフォーラムへの投稿には約 1 か月間回答がありません。
動的データベースの作成と CTP 5 のサポートは既に提供しており、SQLite 用の dotConnect でのCTP 5 のサポートについてのブログをまもなく公開する予定です。
更新します。CTP 5の記事が利用可能です。データベース作成の特殊性に関するいくつかの注意事項と、CTP 5 の使用法を示すサンプルが含まれています。

于 2011-02-11T14:58:42.300 に答える
0

追加する

Database.SetInitializer<MyDataContext>(null);

私のために働きます。EF5最初にコードを使用しますSqlite

于 2013-01-03T21:06:02.490 に答える
0

これを見ることができます:

http://www.devart.com/blogs/dotconnect/index.php/entity-framework-code-first-support-for-oracle-mysql-postgresql-and-sqlite.html

于 2011-08-14T20:38:27.857 に答える