实体模型特性

指定表名

[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用来设置主键的顺序。

posted @ 2021-10-03 20:42  数字游民  阅读(63)  评论(0编辑  收藏  举报