Quando si esegue l'eliminazione di una relazione uno-molti senza esporre la chiave esterna, EF elimina il record padre e tenta di annullare la chiave esterna sui record figlio. Ciò ovviamente causa un errore perché la chiave esterna non è annullabile. L'aggiunta della chiave esterna alla classe figlio sovrascrive questo comportamento, ma preferirei non esporlo.Abilita eliminazioni a cascata in codice EF Prima senza esporre la chiave esterna
Ad esempio, date le seguenti due classi, preferirei non avere JobId come proprietà della classe Project.
public class Job : ModelBase
{
[Required]
[StringLength(100)]
public string Company { get; set; }
[Required]
[StringLength(100)]
public string JobTitle { get; set; }
public ICollection<Project> Projects { get; set; }
}
public class Project : ModelBase
{
[Required]
[StringLength(100)]
public string Name { get; set; }
[Required]
public string Summary { get; set; }
public int JobId { get; set; }
}
Esiste un modo per consentire a cascata cancella in EF primo codice senza esporre la chiave esterna sul lato molti della relazione?
Perfetto. Grazie! –
Non quello che chiamerei ovvio ... –