我有以下问题:我的用户类包含一个排名字段。如何定义 Rank 使其行为类似于枚举类型,但在数据库上,首先使用代码:S(不知道怎么说)。
这是我的用户类:
public class User
{
[Key]
[Required]
[StringLength(30, MinimumLength = 3)]
public String Name { get; set; }
[EmailAddress]
[MaxLength(254)]
public String Email { get; set; }
[Required]
[DataType(DataType.Password)]
public String Password { get; set; }
public String Salt { get; set; }
//[DataType(DataType.ImageUrl)]
public String Avatar { get; set; }
public bool Banned { get; set; }
public Rank Rank { get; set; }
public String Information { get; set; }
}
这是我的第一次尝试:
public class Rank
{
[Key]
public int RankId { get; set; }
[Required]
[StringLength(50)]
public String Name { get; set; }
}
它有效,当我添加时:
[ForeignKey("RankId")]
public Rank Rank { get; set; }
public int RankId { get; set; }
但是有人告诉我,在那里使用 int RnakId 是一种浪费,而字段 Name 就足够了......我希望我的排名包含带有他们排名的字符串 -.- 例如:管理员、用户、国防部。所以我以后可以选择一些已经定义的等级,而不是每次都输入。你知道这样做的任何其他方法吗?