Entity Framework 1 のエラー処理: "DefiningQuery で EntitySet を更新できません"
例外 "EntitySet を更新できません - なぜなら、 DefiningQuery があり、 要素が存在しません。 要素」は、Entity Framework 1 で特定の条件を満たすエンティティを更新しようとすると発生します。このエラーは通常、次のいずれかのシナリオで発生します:
-
データベース ビューからのマッピング: エンティティ セットはデータベース ビューにマップされ、エンティティを介した直接更新を防ぎます。 Framework.
-
カスタム データベース クエリ: エンティティ セットを設定するカスタム データベース クエリを作成した場合、Entity Framework は必要な更新機能を自動的に生成できません。
-
主キーがありません: エンティティ セットの基礎となるデータベース テーブルに主キーがないため、Entity Framework は行を一意に識別できませんupdate.
問題の解決:
このエラーを解決するには、次のことを確認してください:
-
エンティティ セットデータベース ビューにマッピングされていません。 マッピングされている場合は、更新のための代替オプションを検討する必要があるかもしれません。 data.
-
エンティティ セットの設定に使用されるカスタム データベース クエリはありません。 カスタム クエリが使用される場合は、コードに更新機能を手動で実装する必要がある場合があります。
-
データベース テーブルには主キーが定義されています。 主キーが欠落している場合は、それがテーブル スキーマに追加され、エンティティに反映されていることを確認してください。フレームワーク モデル。
根本的な問題が解決されたら、次の操作も必要になる場合があります。
-
Entity Framework デザイナーを更新します。 これにより、再生成が強制されます。マッピング情報を削除して、問題を解決できる可能性があります。
- エンティティを削除してから DbContext に追加し直すことで、正しいマッピング情報が適用されていることを確認できます。
以上がEntity Framework 1 で「DefiningQuery を使用して EntitySet を更新できません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。