实体框架代码第一个默认命名约定的列表

本文关键字:命名约定 列表 默认 第一个 框架 代码 实体 | 更新日期: 2023-09-27 18:33:31

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

我不是在寻找约定的类型 - 我明白了。 我正在寻找实体框架的默认约定将命名我的数据库对象的定义/示例。 需要明确的是,我没有添加或删除任何约定。 EF 附带了许多用于生成 databse 对象的默认约定 - 我想知道 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***  

我在哪里可以找到这个?

实体框架代码第一个默认命名约定的列表

EF

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

您可以在 MSDN 上找到记录的约定列表

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

编辑

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

复数表名约定

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

导航属性名称外键发现公约

Convention: Primary Key
Default: Id

IdKeyDiscoveryConvention

也许System.Data.Entity.ModelConfiguration.TConventions命名空间就是你要找的。
此命名空间包含所有命名约定。