C# 如何替换EF 6中的FK命名约定?
我已经为外键创建了自定义命名约定,并可以将其添加到约定中:C# 如何替换EF 6中的FK命名约定?,c#,entity-framework,naming-conventions,entity-framework-6,C#,Entity Framework,Naming Conventions,Entity Framework 6,我已经为外键创建了自定义命名约定,并可以将其添加到约定中: builder.Conventions.Add(new UnderscorelessForeignKeyNamingConvention()); 对于下面的代码 class Address { City City { get; set; } } 我找不到City\u Id列。对builder.Conventions调用的Add、Add和Remove的哪种组合将删除现有的命名约定,或者实际上允许首先考虑我的命名约定 我已经查看了调试器
builder.Conventions.Add(new UnderscorelessForeignKeyNamingConvention());
对于下面的代码
class Address { City City { get; set; } }
我找不到City\u Id
列。对builder.Conventions
调用的Add
、Add
和Remove
的哪种组合将删除现有的命名约定,或者实际上允许首先考虑我的命名约定
我已经查看了调试器和文档下的约定,这对我来说并不明显。生成的外键列被EntityFramework称为独立关联。由于这些列是EntityFramework在构建模型时生成的,因此无法从自定义约定访问这些列,因此有必要使用基于模型的约定。这就是您在使用上述约定时遇到的问题
基于模型的约定在文档中有一个。一旦您编写了一个这样做的约定,您只需将其添加到约定列表中即可 一个有趣的问题+1。