我想弄清楚如何使用實體框架代表用戶之間的友誼(5)代碼優先。我最初的想法是創建一個包含對兩個User實例的引用的類Friendship,以便友誼由不同的對象表示。我應該如何建立EF用戶之間的友誼模型?
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遷移數據庫,但是,我很爲難由於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.
建議如何解決這個問題將是非常歡迎的。