6

WPFとEntityFrameworkでデータバインディングを使用しようとしています。

プロジェクトにデータソースを追加した後、プロジェクトを保存して、実行するまですべてが正常かどうかを確認しました。

しかし、私は11の警告/情報メッセージを持っています:

テーブル/ビュー'MyDataBase.TableName'には主キーが定義されていません。キーが推測され、定義が読み取り専用のテーブル/ビューとして作成されました。

私は14のテーブルを持っています。4つのテーブルには独自の主キーがあり、他のテーブルは外部キーを使用して相互に参照されています。

この問題は何ですか?親切に助けて

4

4 に答える 4

5

EF のすべてのエンティティは、一意に識別できる必要があります。EF は、データベースの主キーを使用してエンティティ キーを定義します。主キーなしである程度作業することは可能ですが、多くの問題が発生するため、絶対にお勧めできません。コアの問題はエラーに直接記載されています。テーブルに主キーがない場合、更新するレコードを一意に識別できるかどうかわからないため、EF はそれを読み取り専用としてマークします。

于 2013-01-08T14:26:54.513 に答える
0

プロジェクトから EDMX ファイルを削除するだけです。データベースに移動し、各テーブルに主キーを追加します。その後、新しい EDMX をプロジェクトに追加します。それはうまくいきます。プロジェクトの構成ファイルから connectionString タグを削除することを忘れないでください。

于 2015-03-30T20:36:35.113 に答える