la colonna chiave primaria di tipo 'tinyint' non può essere generata dal server ...LINQ to SQL inserto con chiave primaria come tinyint impostato incremento automatico dà messaggio di errore
Questo è più di una risposta di un domanda perché ho cercato questo in pila e non ho trovato alcuna domanda/risposta per aiutare.
Fondamentalmente, io stavo cercando di fare un inserto (in basso)
public void AddTask(Task task)
{
TwoDooDataContext db = new TwoDooDataContext();
db.Tasks.InsertOnSubmit(task);
db.SubmitChanges();
}
E la mia chiave primaria è stato fissato Identità vero, ma il tipo di dati è stato impostato per TinyInt ... vedere gli attributi di classe sotto
ColumnAttribute(Storage="_ID", AutoSync=AutoSync.OnInsert,
DbType="TinyInt NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
Facendo questo ha causato il messaggio di errore:
la colonna chiave primaria di tipo 'tinyint' non può essere generato dal server di
Quindi io non riuscivo a capire questo fuori fino a quando ho potuto questo link ... http://connect.microsoft.com/VisualStudio/feedback/details/402060/accessing-a-primary-key-id-when-its-declared-as-a-tinyint-using-linq
E 'un problema noto, ma non fisso - Sto utilizzando SQL 2008 Express e VS Web Developer 2010 Esprimere.
La mia correzione era solo per cambiare il tipo di dati in Int e tutto funziona. Spero che questo aiuti in caso che qualcun altro stia cercando una soluzione.
E in realtà una domanda: qual è il tipo di dati migliore da utilizzare nel mio caso? Dovrei tenerlo come Int o cambiarlo anche se funziona? Grazie
Il collegamento a connect.microsoft.com è guasto. Pagina non trovata. –