SQLite实体框架Azure应用sqlite3_blob_open没有实现

时间:2018-10-20 13:50:36

标签: sqlite asp.net-core entity-framework-core azure-web-sites

  

TLDR;从 SQLite 读取时出现错误   数据库部署到 Azure Webb应用。在本地工作正常。.

     

TypeLoadException:类型为“ sqlite3_blob_open”的方法   程序集中的'SQLitePCL.SQLite3Provider_e_sqlite3'   'SQLitePCLRaw.provider.e_sqlite3,版本= 1.0.0.0,区域性=中性,   PublicKeyToken = 9c301db686d0bd12'没有实现。

我使用以下技术

  • 用于EntityFrameworkCore的SQLite
  • Asp.Net Core
  • Azure Web应用程序,免费服务计划
  • 从Visual Studio 2017中的React.js模板创建的项目

enter image description here

它在本地运行,但是当我将其部署到Azure Web应用程序时,尝试从数据库中读取数据时出现以下错误。

enter image description here

在我的startup.cs中,我有以下内容

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddDbContext<AppDbContext>(options => options.UseSqlite(@"Data Source=appDatabase.db"));
}

AppDbContext.cs

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> options)
        : base(options)
    { }

    public DbSet<Persons> Persons { get; set; }
}

我的SQLite数据库文件“ appDatabase.db”直接放置在startup.cs旁边的Web项目文件夹中。

enter image description here

1 个答案:

答案 0 :(得分:0)

在添加另一个名为 SQLitePCLRaw.bundle_e_sqlite3

的nuget程序包后,此问题已解决。

https://github.com/ericsink/SQLitePCL.raw

https://github.com/ericsink/SQLitePCL.raw

我发现这个线程https://github.com/praeclarum/sqlite-net/issues/567提到了某种捆绑包,所以我搜索了nuget并找到了它。