0

私はエンティティ フレームワークと MVC 4(asp.net) で databasefirst アプローチを使用していますが、次のエラーが発生します。

操作に失敗しました: 1 つ以上の外部キー プロパティが null 非許容であるため、リレーションシップを変更できませんでした。リレーションシップに変更が加えられると、関連する外部キー プロパティが null 値に設定されます。外部キーが null 値をサポートしていない場合は、新しい関係を定義するか、外部キー プロパティに別の非 null 値を割り当てるか、関連のないオブジェクトを削除する必要があります。

最も可能性が高いのは、変換ステップ (ビューからビューモデル、オートマッパーを介してデータベースオブジェクトへ) のいずれかの部分が原因で、意図しない null 参照が発生することです。

私が知りたいのは、問題の原因となっている外部キーに関する情報を取得する方法があるかどうかです。データベースのトレースを試みましたが、アプリケーションはデータベースに保存しようとする前に問題があることを認識しているようです。これを何とかデバッグできますか?エラー情報をさらに取得しますか?

4

2 に答える 2

0

この種のエラーは、追跡が困難な場合があるため、イライラすることがあります。

データベースからすべてのデータを削除することから始めます (必要に応じてバックアップします)。

次に、Management Studio でデータベースを開き、テーブルをビジュアル デザイナーにドラッグ アンド ドロップします。次に、関係がどのように見えるかについての視覚的な手がかりを取得します。あなたは驚きを得るかもしれません!

于 2013-06-29T17:53:23.767 に答える