我正在尝试使用Entity Framework(5)Code First来表示用户之间的友谊关系。我的初始想法是创建一个包含对两个用户实例的引用的Friendship类,以便通过单独的对象表示友谊关系。
public class Friendship
{
public virtual int Id { get; set; }
[Required]
public virtual UserProfile User1 { get; set; }
[Required]
public virtual UserProfile User2 { get; set; }
[Required]
public virtual DateTime Since { get; set; }
}
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
[Required]
public string UserName { get; set; }
}
然而,当我尝试通过EF Migrations创建数据库时,由于SQL错误而遇到了难题:
Introducing FOREIGN KEY constraint 'FK_dbo.Friendships_dbo.UserProfile_User2_UserId' on table 'Friendships' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
欢迎提出解决此问题的建议。