2017-08-05 125 views

回答

3

具有以下屬性屬性[ForeignKey("Column Name")]。通常,您可以在導航屬性上分配外鍵而不是外鍵列。

public class Employee { 
    public int Employee Id { get; set; } 
    public int ManagerId { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 

    [ForeignKey("ManagerId")] 
    public virtual Employee Manager { get; set; } 
} 
+0

如果我插入一個員工,將插入一個新的經理行時的經理ID爲0是預期的行爲?我想我需要一個FK約束。 –

+0

實體框架將識別「ManagerId」列作爲主鍵,並將其定義爲SQL Server中的自動增量主鍵字段。查看[使用MVC 5的實體框架6代碼優先入門](https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using- mvc/creation-an-entity-framework-data-model-for-an-asp-net-mvc-application)的完整入門教程,演示了這一點以及更多細節。 –