EF类表名称和列具有相同的名称

时间:2019-05-09 21:08:20

标签: c# .net entity-framework

我正在使用EntityFramework,并且让modelbuilder遍历我的实体以创建它们。问题是我要读取的表之一被命名为相同的表,而其中一列被命名为。由于类与属性的名称相同,因此无法工作。

ActionController::API

2 个答案:

答案 0 :(得分:2)

我将避免使用多余的表和属性名称。您应该能够自然地阅读代码。我将使用RoleId而不是Id,而不是Role。您已经知道要访问的表,因为该表通常在模型中公开。

访问会更自然:

Name

比:

dbRepository.Role.Name


无论如何,尝试这样的事情:

dbRepository.Role.Role

答案 1 :(得分:0)

更简单的方法是使用列属性,而不是覆盖 OnModelCreating。

public class Role
{
    public int RoleId{ get; set; }

    [Column("Role")]                //Actual database column
    public string Name{ get; set; } //Name it whatever is more readable.
}