簡體   English   中英

EF6 ApplicationUser錯誤的多個外鍵

[英]EF6 Multiple foreign keys for ApplicationUser Error

對於Entity Framework和代碼優先方法,我還很陌生,但我陷入了困境。 抱歉,這是一個愚蠢的問題。

我在這里發現了一些看起來相同的問題,但是遇到另一個錯誤,然后是其他人遇到的錯誤,我很樂意解決該問題,如果可能的話,無需添加其他參數。

所以基本上,我的ApplicationUser(從Identity加載)看起來像這樣:

public class ApplicationUser : IdentityUser
{
    public virtual Province Provincie { get; set; }

    [ForeignKey("From")]
    public virtual ICollection<Message> SentMessages { get; set; }

    [ForeignKey("To")]
    public virtual ICollection<Message> ReceivedMessages { get; set; }


}

我有一個消息類,看起來像:

public class Message
{
    [Key]
    public int ID { get; set; }
    public virtual ApplicationUser From { get; set; }
    public virtual ApplicationUser To { get; set; }
    public String MessageContent { get; set; }
    public DateTime Date { get; set; }
}

現在,當我嘗試添加遷移時,出現以下錯誤:

類型為'EF_CF_Basics.Models.ApplicationUser'的屬性'ReceivedMessages'上的ForeignKeyAttribute無效。 在從屬類型“ EF_CF_Basics.Models.Message”上找不到外鍵名稱“ To”。 Name值應該是逗號分隔的外鍵屬性名稱列表。

因此,實際上,Visual Studio告訴我找不到消息中的“收件人”,但確實存在。

您可能想使用[InverseProperty("From")]代替[ForeignKey("From")][InverseProperty("To")]代替[ForeignKey("To")] 外鍵屬性必須是標量( intstringGuid等),但是FromTo屬性實際上是實體,即它們是導航屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM