我在asp mvc
中使用code first
,我遇到了需要具有计算主键的模型/表的情况,例如:
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);
}
}