0

私はVS2010プロジェクトでEntity Framework 4.0を使用しようとしています。私はいつも大きな成功を収めて私のプロジェクトにLinqを使ってSQLを使いましたが、EF4を使って変更しようと思っていました。残念ながら、私のプロジェクトにEF4モデルを追加する手順を踏むと、私の関連は作成されません。ここで Entity Framework 4.0がSQL Server 2008 Express R2データベースから自分のアソシエーションをインポートしていません

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

  1. を選択し 'ADO.NETエンティティデータモデル'
  2. ... VS2010のソリューションエクスプローラ
  3. [追加]をクリックします=>新しいアイテムに私のプロジェクトをクリックしてください
  4. 「データベースから生成」を選択してください
  5. SQL 2008 Express R2データベースに接続
  6. 「テーブル」アイテムを確認してください
    1. 複数形や生成されたオブジェクト名をsingularizeは
    2. にチェックされたモデルに外部キー列を含める[完了]をクリックします
  7. にチェックされます!

私のテーブルはすべて表示されていますが、それらの間には関連はありません。 'Linq to SQL Classes'アイテムを使用すると、私のアソシエーションはすべて期待どおりに生成されます。私がEF4セットアッププロセス中に2つの(関連する)テーブルだけを含めるようにしても、アソシエーションはまだ表示されません。

私は手動でEFデータモデルの設計を通じてassoicationsを追加しようとしましたが、プロジェクトをデバッグするときには、他のエラーを生成します。エラーは、指定したデータベースの関連付けがデータベースで正しく構成されていないことを示します。

UPDATE:私はそれがEF4のバグだと思っていましたが、制約/関連付けに何か不足しているように見えます。私は一からテーブルのいくつかを再構築し、それが役立つかどうかを見ます。私のdbはSQL CE 3.5から変換されたので、途中で何かが見逃されている可能性があります。

おかげ

+0

EF4のバグではありません。私はこれをおそらく最後の2ヶ月で50回やったことがあり、うまくいきます。問題はデータベース(おそらく)です。あなたは、関連付けられている2つのテーブルのデータベーススキーマ/作成テーブルスクリプトを表示できますか? – RPM1984

+0

データベースにFK制約が設定されていることは間違いありませんか? SQL Management Studioのダイアグラムにいくつかのテーブルを追加し、そこにテーブルがあるかどうかを確認してください。 – DamienG

+0

正確に。 2つの新しいテーブルをPKで作成し、もう1つはFKで作成します。それらをEDMXに追加すると、関連がそこにあるはずです。 – RPM1984

答えて

0

私はそれはEF4のバグだと思ったが、私は、制約/団体で何かが欠けていたかのように見えます。私はテーブルの一部を一から再構築して問題を解決しました。

関連する問題