我很难使用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时,我得到了给定的错误。任何想法出了什么问题以及我可以采取哪些步骤来解决它?
答案 0 :(得分:1)
我有一个解决方法。
作为部署的一部分,我还没有找到将迁移应用于sqlite的方法,我在该方面尝试的所有内容都会导致错误。暂时我发现在kudu中找到.sqlite文件的位置,然后用我的本地.sqlite文件替换它是一种可接受的解决方法。