9

我正在尝试查找Entity Framework 的默认命名约定的示例列表。我收集表是 例如用户...外键是 User_Id 但我想查看所有开箱即用约定的列表 - IE 什么实体框架将调用我的对象。<Entity>+s

我不是在寻找约定的类型——我明白了。我正在寻找 Entity Framework 的默认约定将命名我的数据库对象的定义/示例。需要明确的是,我没有添加或删除任何约定。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***  

我在哪里可以找到这个?

4

2 回答 2

9

EF 不提供检索所使用的约定集的机制。你只能删除预先配置的约定。

您可以在以下位置找到记录在案的约定列表您可以在MSDN

最初 EF 允许您自定义约定,但现在该部分已从 API 中删除。

编辑

Convention: Table Name
Default: Entity + s (e.g Users)

复数表名约定

Convention: Foreign Key Relation
Default: Entity + Id (e.g UserId)

NavigationPropertyNameForeignKeyDiscoveryConvention

Convention: Primary Key
Default: Id

IdKeyDiscovery 约定

于 2012-05-09T09:20:33.320 回答
1

Maybe the System.Data.Entity.ModelConfiguration.Conventions namespace is what you're looking for.
This namespace contains all naming conventions.

于 2013-05-03T01:01:23.817 回答