有没有办法让 JSON_VALUE 与 Microsoft.EntityFrameworkCore.Sqlite 一起工作?

时间:2021-06-15 01:09:42

标签: sqlite asp.net-core .net-core entity-framework-core json-value

我们的 ASP.NET Core Web 应用程序使用 Azure SQL 数据库。但是,我们的测试使用 Microsoft.EntityFrameworkCore.Sqlite。

我们最近为审计表添加了一些计算列以提高搜索速度,这些列在 EF Core 中的配置如下:

private void ConfigureAudit(EntityTypeBuilder<Audit> builder)
{
    builder.Property(p => p.KeyQuoteID).HasComputedColumnSql("CAST(NULLIF(JSON_VALUE(KeyValues, '$.QuoteID'), '') AS int)");
}

这在我们使用 Azure SQL 数据库的测试环境中效果很好,但是当我们尝试在 sqlite 中创建我们的数据库时,我们所有的测试都失败了。测试抛出以下错误:

<块引用>

Microsoft.Data.Sqlite.SqliteException:SQLite 错误 1:'没有这样的函数:JSON_VALUE'。

我看到 sqlite 有 extensions to add support for JSON_VALUE,但我不知道如何将它们与 Microsoft.EntityFrameworkCore.Sqlite 一起使用。

我们有哪些选择?有没有办法让该扩展与 Microsoft.EntityFrameworkCore.Sqlite 一起使用?或者有什么不同的方法?

0 个答案:

没有答案