8

VS 2012 (.NET 4.5) で EntityFramework 6.0 によって管理される SqLite を使用して C# アプリを作成しようとしています (5.0 も試してみました)。

私の手順は次のとおりです。

  1. http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wikiから sqlite-netFx45-setup-bundle-x86-2012-1.0.85.0.exe をインストールします。

    VS2012 のコンポーネントをインストールします

  2. C# プロジェクトの作成

  3. NuGet の使用: Install-Package EntityFramework -Pre (EF 6.0 をインストールします)

  4. DDL が従う 1 つのテーブルで単純な Sqlite DB を作成します。

    CREATE TABLE MyTable (
    Id    INT      PRIMARY KEY,
    Name1 TEXT,
    Name2 VARCHAR,
    Blob1 BLOB,
    Date1 DATE,
    Date2 DATETIME 
    );
    
  5. プロジェクトに新しい項目を追加: ADO.NET Entity Data Model:

  6. 上記のデータベース ファイルが選択され、接続文字列が構成ファイルに保存されました

  7. テーブルがウィザード ダイアログに表示されるので、確認して [完了] ボタンをクリックします。

これでコードが生成されるはずですが、代わりに次のメッセージが表示されます。

  • データ型 'longchar' は現在、対象の .NET Framework バージョンではサポートされていません。テーブル「main.MyTable」の列「Name1」が除外されました

  • データ型 'binary' は現在、対象の .NET Framework バージョンではサポートされていません。テーブル「main.MyTable」の列「Blob1」が除外されました。

  • データ型 'date' は現在、対象の .NET Framework バージョンではサポートされていません。テーブル「main.MyTable」の列「Date1」が除外されました。

  • データ型 'date' は現在、対象の .NET Framework バージョンではサポートされていません。テーブル「main.MyTable」の列「Date2」が除外されました。

私はすでに EF + Sqlite を使用していましたが、他のプロバイダー (レガシー 1.0.66.0) を使用しており、型マッピングに問題はなかったので、これには非常に驚きました。

上記の Sqlite バージョンで同様の問題が発生しましたか? その問題の解決策をいくつか知っていますか??

よろしくお願いします。

4

1 に答える 1