關鍵屬性
Key 是表中的一個欄位,用於唯一標識資料庫表中的每一行/記錄。
使用此屬性可覆蓋預設的 Code-First 約定。如果應用於屬性,它將用作此類的主鍵列。
using System.ComponentModel.DataAnnotations;
public class Person
{
[Key]
public int PersonKey { get; set; } // <- will be used as primary key
public string PersonName { get; set; }
}
如果需要複合主鍵,則[Key]屬性也可以新增到多個屬性中。複合鍵中列的順序必須以[ Key,Column(Order = x)] 的形式提供。
using System.ComponentModel.DataAnnotations;
public class Person
{
[Key, Column(Order = 0)]
public int PersonKey1 { get; set; } // <- will be used as part of the primary key
[Key, Column(Order = 1)]
public int PersonKey2 { get; set; } // <- will be used as part of the primary key
public string PersonName { get; set; }
}
如果沒有[Key]屬性,EntityFramework 將回退到預設約定,即使用類的屬性作為名為 Id
或“{ClassName} Id”的主鍵。
public class Person
{
public int PersonID { get; set; } // <- will be used as primary key
public string PersonName { get; set; }
}