如何使用数据库第一种方法命名外键

时间:2014-07-25 14:49:33

标签: c# entity-framework ef-database-first

有没有办法用Entity Framework更改命名约定?

示例:

我有2张桌子

Planification
--------------
creator_id <fk>
guest_id <fk>


Profile
--------------
profile_id <pk>

creator_idguest_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; }

我更喜欢比ProfileProfile1更具体的内容,例如GuestCreator

有没有办法改变命名约定,因为我感到内疚让它像这样。

1 个答案:

答案 0 :(得分:6)

在您的edmx中,您可以通过单击属性并更改Name来重命名导航属性。

enter image description here

请注意,如果您删除该表并再次从数据库构建它,则必须在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;
        } 
    }
}