从EF 2.0升级到2.1之后,我们发现新的迁移以某种奇怪的方式重新创建FKs和索引,将它们的名称缩减为63个字符。此外,MaxIdentifierLength属性出现在迁移文件的顶部。我做了一些研究,没有找到如何配置长度默认值。

最佳答案

目前还没有一个流畅的API。
但可以通过RelationalModelAnnotations类访问:

var maxIdentifierLength = modelBuilder.Model.Relational().MaxIdentifierLength;

也可以修改:
modelBuilder.Model.Relational().MaxIdentifierLength = newValue;

但我不推荐。每个DB提供程序默认设置最大支持的标识符长度(对于SQLServer为128),因此配置更大的值可能会导致无效的表/约束名称和运行时异常。

10-07 23:09