这是我的模特:
public class User
{
public int UserId { get; set; }
public virtual ICollection<Shipment> Shipments { get; set; }
}
public class Shipment
{
public int ShipmentId { get; set; }
public int UserId {get; set;}
}
任何用户可能有0~多次发货。我想级联相应的货件并在我删除用户时自动删除它们。 我不希望通过制作虚拟用户属性[Requierd]从另一侧制作关系BiDirrectional.and eneable DeleteOnCascade。 感谢。
答案 0 :(得分:2)
您可以通过覆盖“OnModelCreating”来实现上述目标。
public class DataContext : DbContext
{
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().HasMany(u => u.Shipments).WithOptional().WillCascadeOnDelete(true);
base.OnModelCreating(modelBuilder);
}
}