2014-06-09 4 views
1

Visual Studio 2013 with Sql Server 2012를 사용합니다. this 을 사용하여 프로젝트보기를 생성합니다.IDENTITY_INSERT가 OFF로 설정된 경우 'UTILISATEUR'테이블의 ID 열에 대해 명시 적 값을 입력 할 수 없습니다.

  1. UTILISATEUR (ID_UTILISATEUR, CIN, NOM, PRENOM ..., ID_ROLE) :
    는 기본 키 및 ID_ROLE는 외래 키 ID_UTILISATEUR입니다 나는 두 개의 테이블이있다.
  2. ROLE (ID_ROLE, NOM_ROLE, DESCRIPTION_ROLE) : ID_ROLE은 기본 키 입니다.

    • 컨트롤러/UtilisateurController.cs : 코드 생성 프로세스가 완료되면

,이 있습니다.

  • 새 폴더 (Views/Utilisateur) : Create.cshtml, Delete.cshtml, Details.cshtml, Edit.cshtml 및 Index.cshtml. Cannot insert explicit value for identity column in table 'UTILISATEUR' when IDENTITY_INSERT is set to OFF.

    그것은 내가 정체성에 값을 삽입 할 수 있다고 설명 :

  • 내 문제는 내가 remply 필드 Create.cshtml 페이지에 액세스하고 만들기를 클릭 할 때 나는 오류를 얻을 수 있다는 것입니다 열을 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/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>.... 
    

    도와주세요!

    +1

    ID_UTILISATEUR을 포함하도록 ID 열을 제거하고 한 번 더 시도하십시오 –

    +0

    ID_UTILISATEUR을 코드에서 제거하지만 작동하지 않습니다. 같은 오류가 발생합니다. – user3718946

    답변

    0

    이 오류가 발생하는 가능한 이유는 당신이 을 변경해야 할 수도 있다는 것입니다/PKEY 열 또는 데이터을 변경했습니다. 수정하려면 ".edmx"파일로 이동하여 "UTILISATEUR"테이블을 마우스 오른쪽 버튼으로 클릭하고 "데이터베이스에서 모델 업데이트"을 선택하십시오. 이것은 효과가있다.

    관련 문제