如何为SQLite索引中的给定列指定函数?

问题描述 投票:0回答:1

DBContext.OnModelCreating

我使用流畅的 API 方法(不是属性),并且在某些字段上有索引。现在我想在创建索引时在列上应用一个函数(以使 NULL 不显眼:Sqlite NULL 且唯一?)。

我宁愿避免使用原始 SQL 来实现这一点,所以在定义索引时有一种方法可以在 EF Core 中表达这一点(即在列名上应用函数)?

        modelBuilder.Entity<CategoryDb>(entity =>
        {
            entity.HasIndex(e => new {e.Name, e.LanguageId}, "name_idx")
              .IsUnique();

如何表达以下概念:

        modelBuilder.Entity<CategoryDb>(entity =>
        {
            entity.HasIndex(e => new {e.Name, IFNULL(e.LanguageId,0)},
              "name_idx").IsUnique();

c# sqlite entity-framework-core
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.