ASP MVC 代码首先创建计算主键

ASP MVC code first create computed primary key

我在 asp mvc 中使用 code first,我遇到了这样一种情况,我需要 model/table 和计算的主键,例如:

 public class Student
{
    [Key]
    public string StudentNumber { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime RegistrationDate { get; set; }

}

那么有没有一种方法可以通过 LastName 的第一个字母、注册年份和 autoincrement 数字来计算 StudentNumber

出于性能原因,您真的不想将主键作为字符串,所以请问这个要求是从哪里来的。然而:

[Key]
public int Id { get; set; }

[NotMapped]
public string StudentId 
{ 
    get 
    { 
        return string.Format("{0}{1}{2}", 
            this.LastName.Substring(0, 1), 
            this.RegistrationDate.Year,
            this.Id);
    }
}