2011-07-10 16 views
2

モデルを作成してエンティティフレームワーク4.0アプリケーションを作成しました。 SQL Server Compact Edition 4.0データベースはthis trickで作成されます。SQL CE 4を使用したEntity Framework 4の問題

これで、初期データをデータベースにインポートするためのコードはすべて完成しました(要素の追加は問題ありません)。

System.Data.Entity - 4.0 
System.Data.SqlServerCe - 4.0 
System.Data.SqlServerCe.Entity - 4.0 

:私は自分のアプリケーションにこれらの参照を追加

[A]System.Data.SqlServerCe.SqlCeConnection cannot be cast to 
[B]System.Data.SqlServerCe.SqlCeConnection. Type A originates from 
'System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=89845dcd8080cc91' in the context 'Default' at location 
'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\4.0.0.0__89845dcd8080cc91\ 
System.Data.SqlServerCe.dll'. Type B originates from 'System.Data.SqlServerCe, 
Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' in the context 
'Default' at location 'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\ 
3.5.1.0__89845dcd8080cc91\System.Data.SqlServerCe.dll'. 

:私は

Context context = new Context(); 

foreach (var c in context.Customers) // Exception 
{ 
    System.Diagnostics.Debug.Print(c.ToString()); 
} 

を経由して要素にアクセスしようとした場合しかし、それは、foreachループの開始時に例外をスローします誰かがアイデアを持っていますか、私の設定に何が間違っていますか?

PS:計算された値のためにSQL CE 4.0を使用します。 3.5を使用する必要がある場合は、アーキテクチャを変更する必要があります(または、コンテキストクラス内で計算された値を実装することは可能ですか?)。

答えて

9

は、私はあなたが正しい4.0

+0

にそれを変更、あなたのEDMXファイル(XMLエディタで見て)まだ3.5を参照すると思います。前にバージョンを変更しましたが、それ以降は変更しました。バージョンは3.5に戻りました。ありがとう! – Fox32

関連する問題