假設有一個 Customer
的 model class 長得像以下這樣,update-database 之後,
理論上應該會在 Customer
的 Table 中自動建立出 MembershipType_Id
的 foreign 欄位?
(也就沒有 MembershipType 的欄位了)
public class Customer
{
public int Id { get; set; }
public MembershipType MembershipType { get; set; }
public byte MembershipTypeId { get; set; }
}
※ MembershipType
是另外一個 Model 的 Class
我 update-database 之後, Customer
的資料表竟然出現了兩個不相干的欄位:
MembershipType_Id
及 MembershipTypeId
,而自己跑出來的 'MembershipType_Id' 是 foreign key...
這..事後想想,問題很簡單... 因為 Id 型態寫錯了,原來是這樣:
public class MembershipType
{
public int Id { get; set; }
public string Name { get; set; }
}
將 Id
型態與 Customer
的 MembershipTypeId
改成一樣,如下:
public class MembershipType
{
public byte Id { get; set; }
public string Name { get; set; }
}
接著再 update-database 之後,應該可以搞定~
(如果不能搞定,可能得先清除 Customer 表格裡的資料~)