Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “如何修复”;SQLite错误1:';找不到指定的模块。”;具有EF和Spatialite_C#_Entity Framework_Sqlite_Spatialite - Fatal编程技术网

C# “如何修复”;SQLite错误1:';找不到指定的模块。”;具有EF和Spatialite

C# “如何修复”;SQLite错误1:';找不到指定的模块。”;具有EF和Spatialite,c#,entity-framework,sqlite,spatialite,C#,Entity Framework,Sqlite,Spatialite,我正在使用EntityFrameworkCore.Sqlite.NetTopologySuite创建一个空间数据库,以暂时存储一个点,但最终将用于直线等。我使用了空间数据文档作为参考。数据需要保存到Spatialite数据库中 通过阅读文档,我已经反映了所述的代码,包括选项生成器(如下)中的“UseNetTopology”,并在类中创建了一个点 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder

我正在使用EntityFrameworkCore.Sqlite.NetTopologySuite创建一个空间数据库,以暂时存储一个点,但最终将用于直线等。我使用了空间数据文档作为参考。数据需要保存到Spatialite数据库中

通过阅读文档,我已经反映了所述的代码,包括选项生成器(如下)中的“UseNetTopology”,并在类中创建了一个点

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Filename=TestDb.db", x => x.UseNetTopologySuite());
    }
当我尝试使用
updatedatabase
更新数据库时,收到错误:

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?

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

您可以在GitHub上跟随线程

显然有一个已知的问题与此bug有关。

@Jarb 我通过手动将
mod_spatialite\4.3.0.1\runtimes\win-x64\native
的内容复制到项目的bin文件夹(在我的例子中是
bin\Debug\netcoreapp2.2\win10-x64

您可以在GitHub上跟随线程


显然有一个已知的问题与此bug有关。

嘿!!!你能解决这个问题吗?我真的遇到了它,我不知道该怎么处理它@不幸的是,FacundoLaRocca没有,从那以后我一直在使用Postgis,以便项目的其余部分仍能继续进行。我仍然希望使用Spatialite,但我找不到答案!嘿你能解决这个问题吗?我真的遇到了它,我不知道该怎么处理它@不幸的是,FacundoLaRocca没有,从那以后我一直在使用Postgis,以便项目的其余部分仍能继续进行。我仍然希望使用Spatialite,但我找不到答案!