0

我们的 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 添加对 JSON_VALUE 的支持,但是我不知道如何将它们与 Microsoft.EntityFrameworkCore.Sqlite 一起使用。

我们在这里有什么选择?有没有办法让该扩展与 Microsoft.EntityFrameworkCore.Sqlite 一起使用?还是有不同的方法?

4

0 回答 0