关键属性
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; }
}