为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复“SQLite 错误 1:‘找不到指定的模块。’” 与 EF 和 Spatialite

如何修复“SQLite 错误 1:‘找不到指定的模块。’” 与 EF 和 Spatialite

C#
RISEBY 2023-09-09 16:08:49
我正在使用 EntityFrameworkCore.Sqlite.NetTopologySuite 创建一个空间数据库来暂时存储一个点,但最终将用于线等。我已使用空间数据文档作为参考https://learn.microsoft.com/en-us/ef /核心/建模/空间#sqlite。数据需要保存到 Spatialite 数据库中。阅读完文档后,我已经反映了代码,因为它包括选项生成器中的“UseNetTopology”(如下),并在类中创建了一个点。protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)    {        optionsBuilder.UseSqlite("Filename=TestDb.db", x => x.UseNetTopologySuite());    }当我尝试更新数据库时,update-database我收到错误:SQLite Error 1: 'The specified module could not be found.'. 我试图通过创建一个空白项目并从头开始工作来找到问题,但结果出现相同的错误。这是整个日志:'.   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()   at Microsoft.EntityFrameworkCore.Infrastructure.SpatialiteLoader.Load(DbConnection connection)   at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteRelationalConnection.LoadSpatialite()   at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteRelationalConnection.Open(Boolean errorsExpected)   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues)   at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)SQLite Error 1: 'The specified module could not be found.'.我找不到任何其他有同样问题的帖子。编辑 19/8/19: 我刚刚创建了一个新的空白项目,通过从 Spatialite 网站安装并使用 SQLite 连接到空间数据库来在没有实体框架的情况下进行测试。我以手动方式收到了同样的错误,所以这也许是 Spatialite 的问题?
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

mod_spatialite\4.3.0.1\runtimes\win-x64\native@Jarb ,在我的例子中,我通过手动将内容复制到项目的 bin 文件夹中解决了(暂时)问题bin\Debug\netcoreapp2.2\win10-x64

查看完整回答
反对 回复 2023-09-09
  • 1 回答
  • 0 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信