Sto eseguendo un Remove()
utilizzando Entity Framework. Quando provo a eseguire SaveChanges()
, mi viene detto che non posso inserire NULL in una colonna che non lo consente. Questo è strano per me, dal momento che non sto facendo alcun INSERT
e ho controllato ognuna delle 30 voci esistenti per scoprire che non dovrebbe cercare di salvare la tabella con null in quella colonna.Impossibile INSERIRE NULL nella colonna in Rimuovi
Ecco il codice in questione:
var user = db.AspNetUsers.FirstOrDefault(u => u.Id == userId);
if (user != null)
{
var itemsToRemove = user.ItemXrefs.Where(i => !itemIDs.Contains(i.ItemID)).ToList();
foreach (var xref in itemsToRemove)
{
user.ItemXrefs.Remove(xref);
}
db.SaveChanges();
//...
}
è possibile fornire l'eccezione effettiva e le classi POCO coinvolte? Si tratta dell'errore che si verifica sull'entità da cui viene cancellata o un'entità correlata? – Kritner
È un po 'di confusione che stai interrogando 'user.ItemXfefs' e poi rimuovendo i risultati da' user.Items'. Non dovresti rimuovere oggetti dalla stessa collezione che stai richiedendo loro? O almeno verificando che 'user.Items' contenga l'elemento che stai rimuovendo? –
@RufusL Questo è stato un errore durante la semplificazione del mio codice per questa domanda - risolto. – muttley91