Entity Framework中的实体类添加复合主键
使用Code First模式实现给实体类添加复合主键,代码如下:
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel.DataAnnotations; 4 using System.ComponentModel.DataAnnotations.Schema; 5 using System.Linq; 6 using System.Web; 7 8 namespace MyFirstMvcApp.Models 9 { 10 /// <summary> 11 /// 登录记录 12 /// </summary> 13 public class LoginRecordInfo 14 { 15 /// <summary> 16 /// 登录的邮件地址(主键) 17 /// </summary> 18 [Key,Column(Order=1)] 19 public string Email { get; set; } 20 21 /// <summary> 22 /// 登录的客户端IP 23 /// </summary> 24 public string LoginHostIP { get; set; } 25 26 /// <summary> 27 /// 登录的客户端主机名 28 /// </summary> 29 public string LoginHostName { get; set; } 30 31 /// <summary> 32 /// 登录时间(主键) 33 /// </summary> 34 [Key,Column(Order=2)] 35 public DateTime LoginTime { get; set; } 36 } 37 }
使用特性Key和Column设置复合主键,Key表示字段是主键,Order用来设置主键的顺序。使用Key和Column需要添加命名空间:
Key的命名空间:System.ComponentModel.DataAnnotations;
Column的命名空间:System.ComponentModel.DataAnnotations.Schema;