如何使用 Entity Framework 在 SQLite 中设置线程模式?
How to set threading mode in SQLite with Entity Framework?
我正在使用带有 Entity Framework Core (RC1) 的 SQLite。
我读到 SQLite supports three different threading modes: Single-thread, Multi-thread and Serialized。
如何设置在 运行-time 中,我想对我的数据库使用哪种模式?
这是通过打开一个设置了适当标志的数据库来完成的。 SQLITE_OPEN_NOMUTEX
用于多线程或 SQLITE_OPEN_FULLMUTEX
用于序列化。看起来可以通过 C 接口设置标志:
https://www.sqlite.org/c3ref/c_open_autoproxy.html
因此,如果您不直接使用 C 接口,您将受 EF 的支配,以及他们是否已决定支持在数据库打开时设置标志。
Microsoft.Data.Sqlite
引用 SQLitePCRaw.bundle_e_sqlite3
NuGet 包。该包包含已使用 SQLITE_THREADSAFE=1
(序列化)编译的 SQLite 版本。 Microsoft.Data.Sqlite
目前没有公开 API 来改变这个,System.Data.SQLite
.
也没有
我正在使用带有 Entity Framework Core (RC1) 的 SQLite。
我读到 SQLite supports three different threading modes: Single-thread, Multi-thread and Serialized。
如何设置在 运行-time 中,我想对我的数据库使用哪种模式?
这是通过打开一个设置了适当标志的数据库来完成的。 SQLITE_OPEN_NOMUTEX
用于多线程或 SQLITE_OPEN_FULLMUTEX
用于序列化。看起来可以通过 C 接口设置标志:
https://www.sqlite.org/c3ref/c_open_autoproxy.html
因此,如果您不直接使用 C 接口,您将受 EF 的支配,以及他们是否已决定支持在数据库打开时设置标志。
Microsoft.Data.Sqlite
引用 SQLitePCRaw.bundle_e_sqlite3
NuGet 包。该包包含已使用 SQLITE_THREADSAFE=1
(序列化)编译的 SQLite 版本。 Microsoft.Data.Sqlite
目前没有公开 API 来改变这个,System.Data.SQLite
.