それぞれに単純なCreate NewフォームとUpdateフォームを持つ2つの構造的に同一のテーブルがあります。テーブルの1つは、新しい行を更新したり追加したりするときに完璧に機能します...もう一方のテーブルは正常に動作しますが、新しい行を作成するときはModelState.IsValidを超えることはできません。ModelState.IsValidは、自動インクリメントフィールドが含まれていないためにFALSEを返します。
「ID」フィールドが自動インクリメントのプライマリキーであっても含める必要があるというエラーメッセージが表示されます。私もnull値を提出しようとしましたが、どちらもうまくいきません。
私の主キーの両方が同じ方法で設定され、LINQ to Entities Modelを使用していることが分かります。
[HttpPost]
public ActionResult CreateProduct(Product product)
{
if (ModelState.IsValid)
{
productrepository.Add(product);
productrepository.Save();
return RedirectToAction("ProductList");
}
return View();
}
お勧めはありますか?
ありがとうございます!
はあなたが製品にId列の上に置く属性かを示すことはできますか? –
なぜビューモデルを使用していないのですか? –