想到什麼做這樣的事情:我應該如何聲明與默認創建的MVC .NET會員/用戶表的外鍵(UserId)關係?
public class UserProfile
{
[Key]
[Column(Order = 0)]
[ForeignKey("User")]
public Guid UserId { get; set; }
public virtual User User { get; set; }
// Additional user info
}
但我收到此錯誤:
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'User' has no key defined. Define the key for this EntityType. \tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'Users' is based on type 'User' that has no keys defined.
我缺少什麼呢?無論如何編寫一個自動遷移到sql表(Code First)的類?
謝謝!
1)我需要[ForeignKey(「UserId」)]公共虛擬用戶用戶{獲取;組; } equals [ForeignKey(「User」)] public Guid UserId {get;組; } 2)我想用戶是外鍵+主鍵 3)我仍然得到相同的錯誤 –
我不明白你的意思是:用戶是外鍵+主鍵。你的用戶主鍵必須像一個唯一的整數或唯一的字符串?現在你的用戶是一個對象。你能證明你想要你的桌子嗎? –
MVC4爲您創建了幾個管理用戶的表格,例如用戶,會員,角色。用戶通過在這些表中找到的UserId鍵進行標識。我想有另一個引用UserId標識符的表來包含其他用戶信息。我想在我的Class中引用它,所以我將始終使用Code First方法遷移到數據庫。別介意外鍵+鍵。 –