EntityState.Modifiedを使用してさまざまな関連テーブルでフィールドを更新しようとしていますが、SaveChanges()は変更を適用していません。私はlocalhost/8000/api/co/1に投稿するためにpostmanを使用しています。ステータスには202が受け入れられます。私のリポジトリはレコードを返していますが、まったく変更されていません。Entity Framework 7を使用してレコードを更新する方法は?
質問変更が反映されるために私のリポジトリには何が欠けていますか? 各プロパティを個別に設定する必要はありますか? (私は何百もあります)
リポジトリパターンとエンティティフレームワーク7に関するほとんどの例は、EntityState.Modified()を利用して変更を保存するだけです。誰かが私が行方不明を指摘するのを手伝ってもらえますか?私はあなたがすべてのエンティティに変更を加えることは、実際にどこ私は見ていない私の他のリポジトリが作成正常に動作してい、削除してうまく
マイリポジトリ
public COMP Update(int id)
{
var original = _context.Complaints.Where(c => c.COMP_ID == id).FirstOrDefault<COMPLAINT>();
_context.Entry(original).State = EntityState.Modified;
SaveAll();
return original;
}
public bool SaveAll()
{
return _context.SaveChanges() > 0;
}
1.プロパティ変更のようにオブジェクトに何も割り当てないこと。 2.一度取得されたインスタンスはデフォルトで追跡されるため、状態の変更は必要ありません。 – Igor