Ciao a tutti e grazie in anticipo per il vostro aiuto.

Devo inserire nella tabella Contatti dei nuovi record tramite form. Richiedo all'utente di inserire tutti i dati necessari in un form, tranne il campo IdContatto che dovrebbe essere automaticamente incrementato dal software.

Dubbio iniziale: ho impostato la proprietà Specifica Identità della colonna IdContatto su SI e Incremento Identità su 1. E' giusto?

Problema vero e proprio: il campo IdContatto che non viene ovviamente richiesto nel form d'inserimento viene sempre settato a 0 appena dichiaro la variabile newCont nel codice, l'applicazione mi dà quindi l'errore "quando identity_insert è OFF non è possibile inserire un valore esplicito per la colonna identity nella tabella contatti".

ecco il codice:

private void addNewContatto()
{
ContattoInserimentoForm cf = new ContattoInserimentoForm();
//form dove vengono inseriti i campi del nuovo contatto

cf.Title="Nuovo Contatto";
if (cf.ShowDialog().Value)
{
Contatti newCont = new Contatti();
//istanza della tabella contatti


//inserisco il valore di IdContatto in un Message Box di prova. Il BOX mi stampa //0, ma questo assegnamento non l'ho ovviamente mai fatto

MessageBox.Show(String.Format("{0}", newCont.IdContatto)); //stampa 0

newCont.Nome = cf.contattoNome.Text;
newCont.Indirizzo = cf.contattoIndirizzo.Text;
newCont.Citta = cf.contattoCitta.Text;
newCont.RecapitiTelefonici = cf.contattoRecapitiTelefonici.Text;
newCont.Mail = cf.contattoMail.Text;
newCont.Note = cf.contattoNote.Text;

this.contattiInfo = ((IListSource)databaseContext.Contatti).GetList();
this.contattiInfo.Add(newCont);

SalvaModifiche.IsEnabled = true;

}

}