public class Customer
{
public int CustomerId { get; set; }
public string MembershipId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
}
public class Company
{
public string MembershipId { get; set; }
public string Name {get; set;}
}
public class CustomersBankAccount
{
public string Name {get; set;}
public int CustomerId { get; set; }
}
約定,當你想用代碼優先約定建立一個數據庫,就是在你的屬性中集成一個「Id」(外鍵)部分。 當然,我建議所有屬性都聲明爲虛擬,以便EF可以掌握您的代碼並啓用某些功能。就像一個高效的跟蹤mechnaism
所以:如果您有指定對象ID屬性,EF假定財產 持有主鍵值,並建立在SQL Server 自動增量(標識)鍵列,以保存屬性值。
編輯:
「物體」,意思是客戶的對象。本質上,您的示例中的主鍵位於客戶中,而外鍵位於與客戶相關的所有其他表中。主鍵不能重複或爲空。外鍵 - 是的。同一客戶可能擁有多個銀行賬戶。 :) 所以,如果你想知道,設置你的鑰匙的管道在哪裏,停下來。 MVC只需查看上面的代碼並決定(在腳手架選擇上)如何製作數據庫中的表格。你不必指示除了你所看到的媒體鏈接(以下簡稱「ID」的結尾)
編輯根據我的意見沒有在你的代碼:
public class Customer
{
public int CustomerId { get; set; }
[Remote("CheckMembershipIdActionMethod", "CorrespondingController")]
public string MembershipId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
}
這是對象映射到一些ORM,像EF? –
是的,的確是你想要的。 – Thaven
http://stackoverflow.com/questions/16678625/asp-net-mvc-4-ef5-unique-property-in-model-best-practice –