这是我的型号:
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~多次发货。我想对相应的发货进行casccade处理,并在删除用户时自动删除它们。我不想通过制作虚拟用户属性[Requierd]来将关系设为BiDirdirectional.并从另一端删除OnCascade。谢谢
您可以通过如下重写"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);
}
}