有没有办法用Entity Framework更改命名约定?
示例:
我有2张桌子
Planification
--------------
creator_id <fk>
guest_id <fk>
Profile
--------------
profile_id <pk>
creator_id
和guest_id
都是profile_id
默认情况下,实体会像这样生成一个规划化类
public string guest_id { get; set; }
public string creator_id { get; set; }
public virtual Profile Profile { get; set; }
public virtual Profile Profile1 { get; set; }
我更喜欢比Profile
和Profile1
更具体的内容,例如Guest
和Creator
。
有没有办法改变命名约定,因为我感到内疚让它像这样。
答案 0 :(得分:6)
在您的edmx中,您可以通过单击属性并更改Name
来重命名导航属性。
请注意,如果您删除该表并再次从数据库构建它,则必须在edmx中重命名该表。
如果你对此非常恼火。解决这个问题的一种方法是改为使用一个带有属性的局部类,该属性为默认命名属性命名。
public partial class Planification
{
public Profile Creator
{
get{ return this.Profile1; }
set{
this.Profile1 = value;
}
}
public Profile Guest
{
get{ return this.Profile; }
set{
this.Profile = value;
}
}
}