将项目从 SQL 切换到 SQLLite

Switch project from SQL to SQLLite

我有 .net core 5 web api 项目,它是基于 SQL DB Entity Framework 代码优先态度和存储库创建的。 我需要将项目切换到 SQLLite,是否可以切换到 SQLLite,EntityFramework 是否支持它?

有一个 SQLite database provider for EFCore that should do what you need. There are some limitations 您需要注意,因为 SQLite 没有对某些数据类型的本机支持并且没有模式或序列的等效概念。

'unsupported' 数据类型仍将部分起作用,因为您可以存储和检索值,但比较和排序可能会失败,除非您 运行 在客户端而不是 'on the server' - 在您的代码中而不是通过 SQL 执行。

受影响的数据类型(根据上面的link):

  • DateTimeOffset
  • Decimal
  • TimeSpan
  • UInt64

文章建议在模型构建器中使用值转换器将 Decimal 转换为 double 以允许本机比较和排序。如有必要,可能还有其他方法可以对其他类型执行此操作。