1

SQL サーバー コンパクト エディション 4.0 を使用して、単純な EF コードの最初のサンプルを作成しようとしています。使用されているテクノロジは次のとおりです。 Visual Studio 2012 Ultimate。

だから私は簡単なpocoクラスを作成しました:

namespace MvcApplication2.Models
{
    public class Customer
    {
        public int CustomerId { get; set; }
        public string CustomerName { get; set; }
    }
}

そして、単純なコンテキスト クラス:

namespace MvcApplication2.Models
{
    public class CustomerEntity : DbContext
    {
        public DbSet<Customer> Customers { get; set; }
    }
}

次に、テンプレートを使用してコントローラー クラスを作成しようとしました。エンティティ フレームワークを使用した読み取り/書き込みアクションとビューを備えた MVC コントローラー。

  • モデル クラス -> 顧客
  • データ コンテキスト クラス -> CustomerEntity

次のエラーが発生しました。

... のメタデータを取得できません 同じ dbcompiledmodel を使用して、異なるタイプのデータベース サーバーに対してコンテキストを作成することはサポートされていません。...

これとまったく同じコードが、LocalDB を使用しても問題なく機能したと言わざるを得ません。

私が必要だと思った唯一の違いは、web.config ファイルに以下を追加したことです。

<add name="CustomerEntity"
     connectionString="Data Source=|DataDirectory|CustomerEntity.sdf"
     providerName="System.Data.SqlServerCe.4.0" />

他に何か不足していますか?

この問題を抱えているのは私だけではないことを知っています。

4

1 に答える 1

0

EFキャッシュのDBとApp_DataのDBを複製する際の問題。この問題を解決する最も簡単な方法は、デフォルトのコンストラクターCustomerEntityにコメントを付け、テンプレートからコントローラーを作成してからコメントを外すことです。

于 2012-09-28T08:24:46.673 に答える