Visual Studio 2013 と Sql Server 2012 を使用しています。これを使用 して、プロジェクトのビューを生成します。私は2つのテーブルを持っています:
- UTILISATEUR (ID_UTILISATEUR,CIN,NOM,PRENOM...,ID_ROLE):
ID_UTILISATEURは主キーで、ID_ROLEは外部キーです。 - ROLE (ID_ROLE、NOM_ROLE、DESCRIPTION_ROLE): ID_ROLEは主キーです。
コード生成プロセスが完了すると、次のようになります。
- Controllers/UtilisateurController.cs 。
- 新しいフォルダー (Views/Utilisateur) : Create.cshtml、 Delete.cshtml 、 Details.cshtml 、 Edit.cshtml 、および Index.cshtml 。
私の問題は、Create.cshtml ページにアクセスし、フィールドを再入力して [作成] をクリックすると、次のエラーが表示されることです。Cannot insert explicit value for identity column in table 'UTILISATEUR' when IDENTITY_INSERT is set to OFF.
ONに設定されているため、ID列に値を挿入できないと説明しています。それを解決するために、次のコードで何を変更すればよいかわかりません。
UtilisateurController.cs の私の Create メソッド:
public ActionResult Create()
{
ViewBag.ID_ROLE = new SelectList(db.ROLE, "ID_ROLE", "NOM_ROLE");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include="ID_UTILISATEUR,CIN_UTILISATEUR,MATRICULE_UTILISATEUR,NOM_UTILISATEUR,PRENOM_UTILISATEUR,PASSWORD_UTILISATEUR,MAIL_UTILISATEUR,TELEPHONE_UTILISATEUR,ID_ROLE")] UTILISATEUR utilisateur)
{
if (ModelState.IsValid)
{
db.UTILISATEUR.Add(utilisateur);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.ID_ROLE = new SelectList(db.ROLE, "ID_ROLE", "NOM_ROLE", utilisateur.ID_ROLE);
return View(utilisateur);
}
エラー行は次のとおりです。db.SaveChanges();
私の Views/Utilisateur/Create.cshtml ページは次のとおりです。
....
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.ID_UTILISATEUR, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.ID_UTILISATEUR)
@Html.ValidationMessageFor(model => model.ID_UTILISATEUR)
</div>
</div>
<div class="form-group">
<label for="inputCIN" class="control-label col-xs-2">CIN</label><div class="col-md-10">
@Html.EditorFor(model => model.CIN_UTILISATEUR)
@Html.ValidationMessageFor(model => model.CIN_UTILISATEUR)
</div>
</div>.....
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="créer" class="btn btn-default" />
</div>....
助けてください !