当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'UTILISATEUR' 中插入标识列的显式值



我使用Visual Studio 2013和Sql Server 2012。我用这个为我的项目生成视图。我有两个表:

  1. UTILISATEUR (ID_UTILISATEUR CIN,笔名,PRENOM…,ID_ROLE):
    ID_UTILISATEUR为主键,ID_ROLE为外键。
  2. ROLE (ID_ROLE, NOM_ROLE, DESCRIPTION_ROLE): ID_ROLE为主关键。

在代码生成过程完成后,我有如下代码:

  • 控制器/UtilisateurController.cs。
  • 一个新文件夹(Views/Utilisateur): 创建。Delete.cshtml cshtml ,细节。cshtml、编辑。cshtml和索引。cshtml。

我的问题是,当我访问创建。cshtml页面,回复字段并单击创建我得到错误:Cannot insert explicit value for identity column in table 'UTILISATEUR' when IDENTITY_INSERT is set to OFF.

它解释了我不能插入值到标识列,因为它被设置为on。我不知道我应该在下面的代码中修改什么来解决它。


我的创建方法在UtilisateurController.cs:

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 ();


我的观点/Utilisateur/创建。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>....

您得到此错误的可能原因是您可能已经更改了PKEY列或数据。要修复,去你的"。然后右键单击"UTILISATEUR"表,选择"Update Model from Database"。

相关内容

  • 没有找到相关文章

最新更新