EF4.1~4.3 Code First模式級聯刪除是默認打開的,在同一個實體多次引用另一個實體時,需要單獨設置關閉某個外鍵關系下的級聯刪除,需要寫Fluent API代碼,而且級聯刪除有時會造成麻煩。干脆整個關了吧:
using System.Data.Entity.ModelConfiguration.Conventions;
public class MyDbContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
}
}