.Net核心和Sqlite部署到azure失败

时间:2017-04-02 18:40:19

标签: sqlite azure .net-core

我很难使用sqlite将.net核心应用程序部署到azure。我在日志中收到的错误消息是:

fail: Microsoft.EntityFrameworkCore.Query.RelationalQueryCompilationContextFactory[1]
      An exception occurred in the database while iterating the results of a query.
      Microsoft.Data.Sqlite.SqliteException: SQLite Error 1: 'no such table: AspNetUserLogins'.
         at Microsoft.Data.Sqlite.Interop.MarshalEx.ThrowExceptionForRC(Int32 rc, Sqlite3Handle db)
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
         at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
         at Microsoft.Data.Sqlite.SqliteCommand.<ExecuteDbDataReaderAsync>d__53.MoveNext()
      --- End of stack trace from previous location where exception was thrown ---

这让我相信我的迁移没有得到正确应用。

在我的启动课程中,我有以下内容:

    services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlite(Configuration.GetConnectionString("ConnectionName")));

和连接字符串:

"ConnectionName": "Filename=./MyApp.sqlite"

这在本地完美运行,但是当我部署到azure时,我得到了给定的错误。任何想法出了什么问题以及我可以采取哪些步骤来解决它?

1 个答案:

答案 0 :(得分:1)

我有一个解决方法。

作为部署的一部分,我还没有找到将迁移应用于sqlite的方法,我在该方面尝试的所有内容都会导致错误。暂时我发现在kudu中找到.sqlite文件的位置,然后用我的本地.sqlite文件替换它是一种可接受的解决方法。