EF Code First Fluent API - 级联删除

时间:2014-08-04 08:39:58

标签: entity-framework asp.net-mvc-5 entity-relationship asp.net-identity-2

我有两种模式:

public class User
{
   .....
   public virtual UserProfile UserProfile { get; set;}
}


public class UserProfile
{
   .....
   public virtual User User { get; set;}
}

User是主表,关系是一对一的。一个用户只有一个UserProfile。

如何使用EF CodeFirst Fluent API定义User和UserProfile之间的关系,以便当我从User表中删除一个用户时,Userprofile中的用户配置文件也会被删除?

1 个答案:

答案 0 :(得分:5)

使用WillCascadeOnDelete

modelBuilder.Entity<UserProfile>()
    .HasKey(c => c.Id)
    .HasRequired(c => c.User)
    .WithRequiredDependent(c => c.UserProfile)
    .WillCascadeOnDelete(true);