Получение дублирующейся ошибки Нарушение ограничения PRIMARY KEY и зависание - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь получить форму с одним представлением, и я получил 2 таблицы, я пытаюсь получить 2.table со вторым отношением. Я получал идентификаторы, которые выбирают клиенты. Но когда я пытаюсь вставить метод post с другой таблицей давая мне ошибку.

Кроме того, мой personalId всегда получает 0.Insert метод добавляет базу данных после этого сохранить изменения.

Вот мой контроллер:

     [HttpGet]
     public ActionResult Add()
     {
        FormDetailViewModel model = new FormDetailViewModel();
        List<SelectListItem> FormList = new List<SelectListItem>();
        List<SelectListItem> İtemList = new List<SelectListItem>();
        List<SelectListItem> TypeList = new List<SelectListItem>();


        foreach(Form item in formRep.List().ProcessResult)
        {
            FormList.Add(new SelectListItem { Value = 
   item.FormId.ToString(), Text = item.TeslimEden });
        }
        foreach(Item item in itemRep.List().ProcessResult)
        {
            İtemList.Add(new SelectListItem { Value = 
  item.ItemId.ToString(), Text = item.ItemDesc });
        }
        foreach(CheckListType item in typeRep.List().ProcessResult)
        {
            TypeList.Add(new SelectListItem { Value = 
  item.CheckListTypeId.ToString(), Text = item.CheckListType1 });
        }
        model.checkLists = TypeList;
        model.FormViewList = FormList;
        model.İtems = İtemList;

        return View(model);
    }
    [HttpPost]
    public ActionResult Add(FormDetailViewModel model)
     {
       Personal personal = new Personal();
        personal.PersonalAdı = model.PersonalName;
        personal.PersonalDepartmanı = model.PersonalDepartment;
        personal.IseGırısTarihi = model.IseGirisTarihi;
        personal.PersonalId = Convert.ToInt32(model.PersonId);
        personalRep.Insert(personal);
        fDetailRep.Insert(model.FormDetail);
        return View(model);


     }

Вот моя модель:

    public FormDetail FormDetail { get; set; }
    public IEnumerable<SelectListItem> FormViewList { get; set; }
    public IEnumerable<SelectListItem> checkLists { get; set; }
    public IEnumerable<SelectListItem> İtems { get; set; }
    [Display(Name = "PersonalAdı")]
    public string PersonalName { get; set; }
    [Display(Name = "PersonalDepartmanı")]
    public string PersonalDepartment { get; set; }
    [Display(Name = "IseGirisTarihi")]
    public string IseGirisTarihi { get; set; }
    [Key]
    public int PersonId { get; set; }

Вид:

@model TodoListApp.Areas.User.Models.ViewModel.FormDetailViewModel
@using (Html.BeginForm())
{
<table class="table table-hover">
    <tr>
        <td>
            @Html.Label("PersonalAdı")
        </td>
        <td>@Html.EditorFor(model => model.PersonalName)</td>

    </tr>

    <tr>
        <td>
            @Html.DisplayNameFor(model => model.FormDetail.Form)
        </td>
        <td>
            @Html.DropDownListFor(model => model.FormDetail.FormId, 
  Model.FormViewList)
        </td>
    </tr>
    <tr>
        <td>
            @Html.DisplayNameFor(model => model.FormDetail.CheckListType)
        </td>
        <td>
            @Html.DropDownListFor(model => 
 model.FormDetail.CheckListTypeId, Model.checkLists, new { @onchange = 
 "createlement()" })
        </td>
    </tr>
    <tr>
        <td colspan="2" style="padding-top:40px;">
            <input type="submit" value="Save" class="btn btn-info" />
        </td>
    </tr>
</table>

}

SqlException: Нарушение ограничения PRIMARY KEY 'PK_FormDetail'. Не могу вставьте дубликат ключа в объект 'dbo.FormDetail'. Дубликат значения ключа (0). Заявление было прекращено.

...