实体模型特性
指定表名
[Table(account)]
public class Account
{
}
标记主键
[Key]
public int ID{get;set;}
标记最大长度和最小长度
[MaxLength(20)]
[MinLength(5)]
pubic string Name{get;set;}
标记固定长度
[StringLength(15)]
pubic string Name{get;set;}
非空约束
[Required]
public string email{get;set;}
指定字段名称
[Column("machine_id")]
public string MachineID { get; set; }
指定主键自增长
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long ID { get; set; }
属性不映射为表字段
[NotMapped]
public string FullName
{
get{return FirstName + LastName;}
}
复杂类型(实体模型的属性被标记成复杂类型,会递归解析内部属性生成表字段(Address_Country,Address_City))
[ComplexType]
public class Address
{
public string Country{get;set;}
public string City{get;set;}
}
复合主键
/// <summary>
/// 登录记录
/// </summary>
public class LoginRecordInfo
{
/// <summary>
/// 登录的邮件地址(主键)
/// </summary>
[Key,Column(Order=1)]
public string Email { get; set; }
/// <summary>
/// 登录时间(主键)
/// </summary>
[Key,Column(Order=2)]
public DateTime LoginTime { get; set; }
/// <summary>
/// 登录的客户端IP
/// </summary>
public string LoginHostIP { get; set; }
/// <summary>
/// 登录的客户端主机名
/// </summary>
public string LoginHostName { get; set; }
}
Key表示字段是主键,Order用来设置主键的顺序。