フォームを元のテーブルにバインドせずに、フォームを介してデータを更新することは可能ですか?
SQL ビューがマップされているメイン テーブル内のデータの小さなサブセットをユーザーが更新する必要があります。以下は、データの更新に使用されるコードの例です。
[HttpPost]
public ActionResult Address(AddressView model)
{
if (ModelState.IsValid)
{
TestEntities.AddressView .AddObject(model);
TestEntities.SaveChanges();
return Redirect("/Customer?id=" + model.id);
}
return View(model);
}
残念ながら、ビューには主キーを含めることができないため、データを更新しようとすると次のエラーが発生します。
EntitySet 'AddressView' を更新できません。DefiningQuery があり、現在の操作をサポートする要素が要素に存在しないためです。
典型的な SQL Update ステートメントを使用せずに可能な回避策はありますか? 可能であれば Entity Framework に固執したいと思います。