Linq to Sql如何删除表以及所有关系

时间:2017-03-21 21:45:23

标签: linq-to-sql

我有一个表“User”与大约7个其他表有关系。如果我尝试删除用户,除非我删除其他具有userId的表中的所有数据,否则它不会让我。有没有办法自动删除所有内容而无需一次删除每个UserId表中的每个表?

1 个答案:

答案 0 :(得分:0)

您可以使用级联删除。 代码优先:在上下文类的OnModelCreating方法中:

modelBuilder.Entity<Table1>()
.HasOptional(c => c.User)
.WithMany(c => c.Table1s)
.HasForeignKey(c => c.UsereID).WillCascadeOnDelete(true);

modelBuilder.Entity<Table2>()
.HasRequired(c => c.User)
.WithMany(c => c.Table2s)
.HasForeignKey(c => c.UsereID).WillCascadeOnDelete(true);