实体框架代码第一个默认命名约定的列表
本文关键字:命名约定 列表 默认 第一个 框架 代码 实体 | 更新日期: 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命名空间就是你要找的。
此命名空间包含所有命名约定。