我正在尝试查找Entity Framework默认命名约定的示例列表。我认为表格是<Entity>+s
,例如用户...外键是User_Id但我希望看到所有开箱即用的约定列表 - IE实体框架将调用我的对象。
我不是在寻找约定类型 - 我知道了。我正在寻找实体框架的默认约定将命名我的数据库对象的定义/示例。为了清楚起见,我没有添加或删除任何约定。 EF附带了许多用于生成数据库对象的默认约定 - 我想知道EF的开箱即用默认约定将命名我的数据库对象。
我之所以需要这个是因为虽然我正在使用CodeFirst,但我会手工创建我的数据库对象,而不是让EntityFramework为我生成它(我的同事坚持这一点)。因此,我需要知道我应该将我的表,列,外键命名为什么......这样实体框架将找到/映射它们,而不需要显式映射。
例如
EF Default TableName Convention
<Entity> + 's' (e.g ***Users***)
EF Default Foreign Key Convention
<Entity> + 'Id' (e.g ***UserId***)
EF Default Primary Key Convention
***Id***
我在哪里可以找到这个?
答案 0 :(得分:8)
EF不提供检索所使用的约定集的机制。您只能remove预先配置的约定。
您可以在MSDN
上找到记录在案的会议列表最初EF允许您自定义约定,但现在该部分已从API中删除。
修改强>
Convention: Table Name
Default: Entity + s (e.g Users)
PluralizingTableNameConvention
Convention: Foreign Key Relation
Default: Entity + Id (e.g UserId)
NavigationPropertyNameForeignKeyDiscoveryConvention
Convention: Primary Key
Default: Id
答案 1 :(得分:1)
也许System.Data.Entity.ModelConfiguration.Conventions名称空间是您正在寻找的 此命名空间包含所有命名约定。