Impossible d'insérer une valeur explicite pour l'identité de la colonne dans la table 'ClientDetails" quand IDENTITY_INSERT est réglé sur OFF

- Je obtenir cette exception générée à chaque fois que j'essaie et l'envoi de données par le biais d'un formulaire à cette base de données :-

  • Exception

    Impossible d'insérer une valeur explicite pour l'identité de la colonne dans la table 'ClientDetails" quand IDENTITY_INSERT est réglé sur OFF.

Toutefois, le formulaire n'est pas un champ de sorte que les données peuvent entrer dans la colonne d'identité (PK) donc je suis à une perte pour expliquer pourquoi cela se produit.

Pour le moment je suis en utilisant le standard asp.net mvc bouton soumettre, mais je vais le relier éventuellement à un dialogue jquery bouton

La ClientNo Colonne de ladite colonne, l'exception n'est en se référant à la a les attributs suivants

  • Nom - ClientNo
  • de type int
  • NULL - PAS DE
  • Identité Spec - Oui
  • Est L'Identité - Oui
  • Incrément - 1
  • Graines - 1

La ClientNo a données à partir de 900 etc

Cette exception est également renvoyée lorsque le formulaire client n'a pas les données saisies dans le formulaire

Sa jeté sur un DataCOntext.SubmitChanges() la méthode

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

Que quelqu'un connait une solution ou la raison pourquoi cela se produit?

Merci

collez-vous de la requête
Comment avez-vous "présenter" les données à la base de données ?
Cette erreur est générée lorsque vous souhaitez ajouter de la valeur à la graine de colonne et quand identity_insert est éteint. Alors comment tu l'enregistrement de vos données de la base de données?
il serait bien si vous pouviez poster la requête.
Muq - à l'aide de SubmitChanges méthodes de linq to Sql classe

OriginalL'auteur porps89 | 2011-05-16