在開始時,我想提一提的是,我一直在爭取這個事情幾天,並嘗試了許多與這個問題或多或少有關的答案。但我無法解決它。導航屬性和映射的EF問題
我有兩個類表示數據庫中的表。這些是遺留應用程序使用的現有表,我無法更改它們。
消息可以有多個MessageRecipients。
環境:MVC3,EF4.1
類是:
public class Message
{
[ForeignKey("MessageReciepients")]
public virtual int MessageID { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime Recieved { get; set; }
[ForeignKey("User")]
public int AuthorUserID { get; set; }
//P\\ Navigation properties
public virtual IList<MessageRecipient> MessageReciepients { get; set; }
public virtual User User { get; set; }
}
public class MessageRecipient
{
//[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int MessageID { get; set; }
public int UserID { get; set; }
public bool Read { get; set; }
public bool Important { get; set; }
public bool Deleted { get; set; }
public bool Destroyed { get; set; }
//P\\ Navigation Properties
public virtual User User { get; set; }
}
我的錯誤是:
國外關鍵部件 '郵件ID' 未在聲明的屬性 鍵入'MessageRecipient'。驗證它沒有明確地從模型中排除 ,並且它是一個有效的原始屬性。
如何正確映射這些類,關係來加載消息的收件人?
我可以添加導航屬性用戶正常工作的消息並正確加載用戶的數據。
我對.NET不太熟悉,而且我在學習的同時也學習了這一點。 我嘗試了一些EF API配置來映射這些我試圖發誓,詛咒它,並在接近哭泣和同時祈禱。沒有喜悅!
我真的很感謝幫助。
得到了他們落後 – 2012-03-09 16:28:47
我真的很感激,如果你能給我更多的提示:) – Pawel 2012-03-09 16:29:49
更多的信息在這裏http://stackoverflow.com/que stions/5542864/how-should-i-declare-foreign-key-relationships-using-code-first-entity-framework – 2012-03-09 16:39:50