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

5

在Entity Framework Core中,使用Fluent API创建不区分大小写的唯一索引是否可能?

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

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

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

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

我尝试了以下方法,但它并没有起作用:
builder.HasIndex(e => e.Name.ToLower())
            .IsUnique();
1个回答

0

从 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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接