229 messaggi dal 20 novembre 2014
Ciao a tutti,
mi trovo davanti ad un problemino probabilmente banale ma che sta dando noie.
Vorrei creare una funzione di storicizzazione per una tabella, per cui ho creato un link che quando cliccato chiama una funzione ToArchive(int id) che altro non fa se non copiare la riga dalla tabella interessata e trascriverla su una tabella parallela. Il problema è: perchè non posso copiare l'id?

foreach (var item in campioni)
            {
                _Campioni_Storico cas = new _Campioni_Storico();
                cas.DescCampione = item.DescCampione;
                cas.ID = item.ID;
                cas.IdentCampione = item.IdentCampione;
                cas.idVerbale = item.idVerbale;
                cas.Modifica = item.Modifica;
                cas.NAliquote = item.NAliquote;
                cas.TipoAttivitaInserito = item.TipoAttivitaInserito;
                cas.Utente = item.Utente;
                db._Campioni_Storico.Add(cas);
                db.SaveChanges();


                _Campioni ca = new _Campioni();
                ca = db._Campioni.Find(item);
                db._Campioni.Remove(ca);
                db.SaveChanges();
            }


se dal debug faccio cas.ID vedo l'id vero ma poi sul db vedo 1, ovviamente ho disattivato manualmente l'autoincrement dato ad ID e l'ho tolto come chiave ma continua a dirmi che non è accettato un valore null per il campo ID, come se non gli arrivasse il valore.
Dove sbaglio?
Grazie
229 messaggi dal 20 novembre 2014
Nessuno ha mai avuto questo problema?
229 messaggi dal 20 novembre 2014
Ok, ho capito dove sta l'errore, lascio per qualcuno che si ritrovi nella stessa situazione! Il problema sta nel modello, dichiarando int ID Code First di default lo rende chiave primaria e autoincrement.
Basta non renderlo autoincrement inserendo sulla chiave

[DatabaseGenerated(DatabaseGeneratedOption.None)]

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.