Al realizar una eliminación de una relación uno-muchos sin exponer la clave externa, EF elimina el registro principal e intenta anular la clave externa en los registros secundarios. Por supuesto, esto causa un error porque la clave externa no puede contener nulos. Agregar la clave foránea a la clase secundaria anula este comportamiento, pero prefiero no exponerlo.Habilitar eliminaciones en cascada en el código EF Primero sin exponer la clave externa
Por ejemplo, dadas las dos clases siguientes, preferiría no tener JobId como propiedad de la clase 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; }
}
¿Hay una manera de permitir eliminaciones en cascada en el Código de EF En primer lugar, sin exponer la clave externa en el lado muchos de la relación?
Perfecto. ¡Gracias! –
No es lo que llamaría obvio ... –