1

Visual Studio 2013 と Sql Server 2012 を使用しています。これを使用 して、プロジェクトのビューを生成します。私は2つのテーブルを持っています:

  1. UTILISATEUR (ID_UTILISATEUR,CIN,NOM,PRENOM...,ID_ROLE):
    ID_UTILISATEURは主キーで、ID_ROLEは外部キーです。
  2. 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>....

助けてください !

4

1 に答える 1

0

このエラーが発生する理由として考えられるのは、PKEY 列またはデータを変更/変更した可能性があることです。修正するには、「.edmx」ファイルに移動し、テーブル「UTILISATEUR」を右クリックして、「データベースからモデルを更新」を選択します。これはうまくいくはずです。

于 2014-12-11T07:30:09.863 に答える