Microsoft.Data.Sqlite - .NET8 iOS

问题描述 投票:0回答:1

由于将 Xamarin.iOS 应用程序迁移到 .NET 8,我们从 Mono.Data.Sqlite 迁移到 Microsoft.Data.Sqlite 版本 8.0.4。

尽管需要进行的更改很小,但我们还是遇到了某个重大问题。

SqlConnection 似乎不支持(至少默认情况下)序列化模式,以避免多线程问题。 序列化模式对于移动应用程序来说很常见,我想问一下 Microsoft.Data.Sqlite 是否支持它。

如果没有,.NET 8 有替代方案吗?

没有公开 API 可以将配置模式设置为序列化。

提前谢谢您

ios .net sqlite .net-8.0 microsoft.data.sqlite
1个回答
0
投票

老实说,这并不意外。任何提供程序对任何 ADO.NET 连接的“正常和预期”用法都是:仅顺序访问,并发访问未定义,串行化访问是“您的工作”。为 ADO.NET 编写一个提供此功能的装饰器层实际上并不需要太多工作,但数据读取器 API 的性质以及潜在访问的现实意味着您需要使用互斥量或信号量而不仅仅是 async 如果所有数据访问代码都位于一个位置,那么一个更简单的选择是在该层添加同步

但是不:我不会把你的希望寄托在找到另一个实现非常不寻常和非典型 API 行为的库上。
	

© www.soinside.com 2019 - 2024. All rights reserved.