Ho una relazione 1..*
tra X
e Y
, dove X
è il genitore. Quando provo e Elimina record Y
ricevo il seguente messaggio di eccezione:Le entità in "Y" partecipano alla relazione "FK_Y_X". Sono stati trovati 0 "X" correlati. 1 'X' è previsto
Enti a 'Y' partecipare al rapporto 'FK_Y_X'. Sono stati trovati 0 "X" correlati. 1 'X' è previsto.
Attualmente sto cercando di eliminare il record in maniera scollegata generica nel seguente modo:
public bool Delete(TEntity entity)
{
if (entity == null)
{
return false;
}
try
{
var entry = _context.Entry(entity);
entry.State = EntityState.Deleted;
_context.SaveChanges();
return true;
}
catch
{
return false;
}
}
L'entità che viene passato in è caricato con AsNoTracking()
sullo stesso contesto.
Qualche idea?
possibile duplicato di [EntityState.Deleted non funziona, Remove (entity) fa?] (Http://stackoverflow.com/questions/16194162/entitystate-deleted-does-not-work-removeentity-does) - not uno esatto, ma forse spiega abbastanza bene il tuo problema – BartoszKP
@BartoszKP L'entità 'Y' è un bambino e non ha altri figli. Chiamando 'Set() .Remove (entity)' risulta lo stesso una volta collegato. Per confermare, voglio solo cancellare il record 'Y', non mi interessa affatto 'X' quindi' X' non è stato caricato. –
Hai il vincolo sul figlio invece che sul genitore? –