Невозможно вставить явное значение для столбца идентификаторов в таблицу ClientDetails, если для IDENTITY_INSERT установлено значение OFF

Я получаю это исключение каждый раз, когда я пытаюсь отправить данные через форму в эту база данных: -

  • Исключение

    Невозможно вставить явное значение для столбца идентификаторов в таблицу «ClientDetails» когда IDENTITY_INSERT имеет значение OFF.

Однако в форме нет поля, поэтому данные могут входить в столбец идентификаторов (PK), поэтому я не понимаю, почему это происходит.

На данный момент я использую стандартную кнопку отправки asp.net mvc, но в конечном итоге я свяжу ее с кнопкой диалога jquery

Столбец ClientNo, который является указанным столбцом, на который ссылается исключение, имеет следующие атрибуты

  • Имя - ClientNo
  • тип - int
  • NULLS - NO
  • Identity Spec - Да
  • Identity - Да
  • Increment - 1
  • Seed - 1

ClientNo имеет данные 900 и далее и т. Д.

Это исключение также выдается, когда в клиентской форме нет данных, введенных в форму

. Оно выбрасывается в DataCOntext. Метод SubmitChanges ()

[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Create1(ClientDetail client)
        {
            if(ModelState.IsValid)
            { 
            client = new ClientDetail();



                UpdateModel(client);
                //Debug Code
                System.Diagnostics.Debug.WriteLine("AddNewClient Create1");
                repo.AddNewClient(client);
                //Debug Code
                System.Diagnostics.Debug.WriteLine("Save Create1");


                // System.Data.SqlClient.SqlException thrown at this line  
                repo.Save();

                //Debug Code - never reached
                System.Diagnostics.Debug.WriteLine("Saved Changes");


              //  return RedirectToAction("Details", new { id = client.ClientNo });




            }
            return View(client);
        }

public void AddNewClient(ClientDetail client)
       {    
            System.Diagnostics.Debug.WriteLine("Start Insert On Submit");

            db.ClientDetails.InsertOnSubmit(client);
            System.Diagnostics.Debug.WriteLine("Finish Insert On Submit");
       }

public void Save()
        {
            System.Diagnostics.Debug.WriteLine("In Save Method");
            db.GetChangeSet();
            System.Diagnostics.Debug.WriteLine("Got ChangeSet"); 
            db.SubmitChanges();
            System.Diagnostics.Debug.WriteLine("Exit Save Method");
        }
Is this the query everyone is talking about

[Column(Storage="_ClientNo", DbType="Int NOT NULL", IsPrimaryKey=true, UpdateCheck=UpdateCheck.Never)]
        public int ClientNo
        {
            get
            {
                return this._ClientNo;
            }
            set
            {
                if ((this._ClientNo != value))
                {
                    this.OnClientNoChanging(value);
                    this.SendPropertyChanging();
                    this._ClientNo = value;
                    this.SendPropertyChanged("ClientNo");
                    this.OnClientNoChanged();
                }
            }
        }

Кто-нибудь знает решение или причину, по которой это происходит?

Спасибо

11
задан porps89 16 May 2011 в 12:14
поделиться