[ASP .NET MVC] foreign key

假設有一個 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 型態與 CustomerMembershipTypeId 改成一樣,如下:

public class MembershipType
{
	public byte Id { get; set; }	
	public string Name { get; set; }
}

接著再 update-database 之後,應該可以搞定~

(如果不能搞定,可能得先清除 Customer 表格裡的資料~)