質問: 私は、この行を実行してResponseモデルオブジェクトをデータベースに保存しようとしたときにこのエラーが発生しました: ``` _context.Add(response); await _context.SaveChangesAsync(); <-- Exception happens in here ``` ResponseテーブルのRequestIdカラムは、Requestテーブルから参照される外部キーです。 **CreateRequestViewModel**はRequestモデルに基づいて作成したビューモデルですが、Requestを作成するために必要なフィールドのみを入力してください。 **CreateResponseViewModel**はレスポンスモデルに基づいて作成したビューモデルですが、レスポンスを作成するために必要なフィールドのみを入力してください。 データベースモデルは、次のコマンドを使用して生成されます。 ``` Scaffold-DbContext "Data Source=localhost;Initial Catalog=Test;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models ``` CreateResponseViewModelオブジェクトの値をコントローラアクションメソッドのResponseモデルオブジェクトにマップし、データベースに保存しようとしましたが、このエラーが発生しました。私の推測は、Entity Framework Coreの更新/挿入をカスケードすることに関連しているかもしれませんが、修正方法はわかりません。 どんな助けもありがとう。ありがとうございました。
回答: 一般に、エンティティがデータベースと同期していないときにエラーが発生します。エンティティクラスの現在の状態に基づいて、Entity Frameworksは`CreateRequestViewModelRequestId`という名前の列が存在する必要があると考えますが、その列は実際には表に存在しません。簡単な答えは、データベースを更新するために移行を実行する必要があるということです。 しかし、それはあなたがここに何もやっていることは全く明らかではありません`ViewModel` *、これまで*お使いのデータベースに行くべきであるクラス名の末尾。私はあなたがここでもっと深刻な問題を解決しなければならないと思っています。