我有一个令人烦恼的问题,我似乎无法解决。假设我有一个包含两个表的数据库。
Student
INT Id
NVARCHAR(30) Name
INT PrimaryTeacherId
INT SecondaryTeacherId
Teacher
INT Id
NVARCHAR(30) Name
现在当我为PrimaryTeacherId和SecondaryTeacherId设置外键并在我的项目中使用DatabaseFirst映射时,我得到了类似于Student表的内容
public partial class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int PrimaryTeacherId { get; set; }
public int SecondaryTeacherId { get; set; }
public virtual Teacher Teacher { get; set; }
public virtual Teacher Teacher1 { get; set; }
}
注意班级的虚拟部分及其名称,教师和教师1。无论我怎么称呼我的FK实体框架都会覆盖它并设置增量名称。没关系,如果我有一个或两个键到同一个表,但是当有更多它很容易丢失和代码看起来有点烦人的对象名称与数字在其中。我知道我可以在我的解决方案中更改生成的类名称,但是当我更新模型更改时将丢失。我也使用Metadata部分类来生成类(主要用于验证和显示属性),我可以更改名称吗?
TLDR:我希望教师和教师1有自定义名称,所以这样的话会很棒
public partial class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int PrimaryTeacherId { get; set; }
public int SecondaryTeacherId { get; set; }
public virtual Teacher PrimaryTeacher { get; set; }
public virtual Teacher SecondaryTeacher { get; set; }
}