0

テーブルからPrimaryKeyを削除し、EDMXを更新しましたが、db.SaveChanges()を実行すると次のエラーメッセージが表示されます。

EntitySet'Results'にはDefiningQueryがあり、現在の操作をサポートする要素が要素に存在しないため、更新できません。

今...1-テーブルにPrimaryKeyを入れたくない。表は単なる値の袋であり、PKは必要ありません。2-誰かがEFで生成されたEDMXからDefiningQuery要素を削除することを提案した別の投稿を読みました。それは機能していません、そして私は自動生成されたEDMXへの手動の変更を避けます。

このエラーを回避し、テーブルにPKを定義しない方法はありますか?

ありがとう。

4

1 に答える 1

0

Entity Frameworkでは、少なくともモデルでは、すべてにキーが必要です。データベースから削除することはできますが、それでもモデルでキーを定義する必要があります。これは、一意であることを確認するための複合キーである可能性があります。そうしないと、EFはオブジェクトを正しく実体化または保存できません。

ただし、とにかくテーブルで主キーを使用します。IDフィールドが含まれていても問題はなく、フィールドの一意の組み合わせを自分で見つけることを心配する必要はありません。テーブルにIDの概念が必要ないことを想像することはできませんか、それとも実際に2つのまったく同じ行を持つことができますか?

于 2012-12-12T19:03:54.527 に答える