我想使用實體框架代碼第一種方法創建1-n關係。以下是我的課代碼第一種方法不創建外鍵
public class User
{
[Key]
public int UserID { get; set; }
//public virtual Vote Vote { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Bio { get; set; }
[Required]
public string Education { get; set; }
[Required]
public string Experience { get; set; }
public string Password { get; set; }
}
和下面是我的第二類
public class Vote
{
[Required]
[Key]
public int VoteID { get; set; }
[ForeignKey("UserID")]
[Required]
public virtual User User { get; set; }
//public virtual int UserID { get; set; }
[Required]
public int VoteCount { get; set; }
[Required]
public int UserID { get; set; }
}
用戶和票和1 n的關係,在我的情況下,我的意思是,用戶名應在投票表的外鍵。但是,當我完成創建分貝以下命令
enable-migrations -ContextTypeName ProfileOne.PO -Force
Add-migration PO
update-database
我沒有得到任何外鍵或列名UserID
任何幫助可以理解爲什麼我不能達到的效果。
這應該創建一個'用戶ID'的投票表。但關係是1-n(用戶有很多票),而不是1-1。如果'UserID'沒有被創建,代碼中的其他錯誤是我們看不到的。 –
我相信在這種情況下,EF期望一對一的關係。取決於EF版本,該屬性可能會被忽略,因爲約定在這種關係中將PK用作FK。 – DevilSuichiro
這應該創建外鍵。我們在這裏缺少部分難題。很容易爲這種問題創建一個[MCVE]。 –