[英]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")]
。 外鍵屬性必須是標量( int
, string
, Guid
等),但是From
和To
屬性實際上是實體,即它們是導航屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.