使用EF Code First更改自动生成的N:M表上的列名称

时间:2013-07-29 09:00:01

标签: c# entity-framework entity-framework-4

我正在使用最新版本的Entity Framework和VS2010使用C#开发一个类库。我有这门课:

public class User
{
    public int UserId { get; set; }
    public String Name { get; set; }
    public int Age { get; set; }
    public String City { get; set; }
    public String Country { get; set; }
    public String Email { get; set; }
    public String InterestIn { get; set; }

    public List<User> Friends { get; set; }
    public List<User> FromWhomIsFriend { get; set; }
    public List<Activity> WantsToDo { get; set; }
    public List<Message> MessagesSent { get; set; }
    public List<Message> MessagesReceived { get; set; }
}

EF在SQLEXPRESS上生成了这两个表:

enter image description here

我有三个问题:

  1. 如何将表格dbo.UserUsers重命名为dbo.UserFriends
  2. 如何将其两列重命名为UserIdFriendId
  3. 如何将列UserIdFriendId设置为dbo.UserFriends表的PK?
  4. 注意:这是我第一次使用EF Code First。

1 个答案:

答案 0 :(得分:0)

最简单的选择是在模型中创建此表。如果EF检测到这样的表,它将不会创建另一个表。 要自定义列名,请在此处查看:How to customize foreign key column name using Entity Framework Code-first