c# - 无法在 ASP.NET MVC 中运行 SQLite.net PCL

标签 c# asp.net asp.net-mvc sqlite portable-class-library

我对 Frank A. Krueger 的 SQLite.net PCL 着迷.我试图将它用作 Android 应用程序和 ASP.NET MVC web 应用程序的公共(public)数据层。我在使用 Android 方面取得了一些成功,但在尝试将其用于网络应用程序时,出现以下异常:

您需要调用 SQLitePCL.raw.SetProvider()。如果您使用的是 bundle ,则可以通过调用 SQLitePCL.Batteries.Init() 来完成。

所以,我在我的 Controller 的构造函数中调用了这个 Init 函数,同时进行了数据库初始化:

SQLitePCL.Batteries.Init();

var dbPath = Path.Combine(Constants.DataDir, "SdgData.sqlite3");
var sqliteConnection = new SQLiteConnection(dbPath);
var sdgSqlRepository = new SdgSqlRepository(sqliteConnection);
crm = new CrmManager(sdgSqlRepository);

但是,似乎甚至没有调用 Init - 我在其上设置了一个断点以及调用 Combine 的下一行,第二个被击中而第一个甚至没有被注意到。 (可能是因为 Init 是 PCL 库调用,不适用于 ASP.NET 平台?)

有没有办法在 ASP.NET Web 应用程序中运行 SQLite.net PCL,或者我是否必须寻找不同的数据源?

最佳答案

这可以通过安装 nuGet 包 Microsoft.EntityFrameworkCore.Sqlite 来解决(注意,不是 Microsoft.EntityFrameworkCore.Sqlite.Core)

关于c# - 无法在 ASP.NET MVC 中运行 SQLite.net PCL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40412992/

相关文章:

c# - 添加包含帧的持续时间

javascript - Phantom JS单击按钮-等待页面完全加载

c# - 将值传递给 html 从后面的代码中选择

asp.net-mvc - asp-validation-summary 显示自定义错误但不显示模型错误

asp.net-mvc - CaSTLe Windsor 3.1 PerWebRequestLifestyleModule 配置

c# - 设计流畅的界面方法

c# - 从一组 JPEG 生成 PDF

c# - 如何将 RSS 功能添加到我的网站?

asp.net-mvc - CasTLe Winsor 3.0 NuGet 安装失败

c# - 如何通过JQuery获取多行文本框的默认值?