EF Core 中的不区分大小写索引映射



是否可以使用 Fluent API 在实体框架核心中创建不区分大小写的唯一索引?

例如,可以使用以下 SQL 在 Oracle 中定义不区分大小写的唯一索引:

create unique index test on "Person"(lower("Name"));

但是,据我所知,EF Core 中的唯一选项是区分大小写的唯一约束,例如:

builder.HasIndex(e => e.Name)
.IsUnique();

我已经尝试了以下方法,但它不起作用:

builder.HasIndex(e => e.Name.ToLower())
.IsUnique();

从 EF Core 5.0 开始,可以使用排序规则。

builder.Property(e => e.name).UseCollation("SQL_Latin1_General_CP1_CI_AS");
builder.HasIndex(e => e.name).IsUnique();

对于 oracle,您可能需要尝试其他排序规则名称,例如BINARY_CI

相关内容

  • 没有找到相关文章

最新更新