0

Mono.Data.Sqlite 库是否会为即将发布的 sqlite3 对 WinRT 构建的支持实现 DbConnection/SqliteConnection 和 DbCommand/SqliteCommand?

我知道(或至少找不到任何引用) Metro/WinRT 不包含 System.Data.Common 命名空间。

我正在开发一个使用 sqlite 数据库的跨平台应用程序,并且希望至少可以完全重用数据库层。此外,CSharp-Sqlite 还不具备 sqlite 的所有功能。

我知道 csharp-sqlite 库目前支持 WinRT,但是在开发中依赖更少的实体会很好。我目前将不得不依赖 Xamarin/Mono for Desktop/iOS/Android 和 CSharp-Sqlite for WinRT/WP/Silverlight。如果 sqlite3.dll 将原生支持 WinRT,那么 Mono.Data.Sqlite.dll 也可以吗?

也许在 WinRT 支持 sqlite3 之后,这些家伙可以找到支持 Silverlight 和 Windows Phone 的方法?:)

有接盘侠吗?

4

1 回答 1

1

这不能回答您的问题,但可能会解决您的问题。

Tim Heuer 关于 WinRT 上的 SQLite 支持的博客文章指出:

有些人可能会询问 System.Data.Sqlite 并且由于 ADO.NET 的依赖性而无法使用,它不是 .NET Framework Core 配置文件的一部分。

因此,尽管现在可以在 WinRT Metro 风格应用程序中使用本机 SQLite 二进制文件,但不支持托管 ADO-NET 驱动程序 (System.Data.SQLite)。Tim 建议使用轻量级的sqlite-net C# 包装器,它是对本地 SQLite 库的 P/Invoke 访问的精简 ORM 包装器。sqlite-net 当然适用于 Mono,包括 MonoTouch 和 Mono for Android。

版本 5 之前的 Windows Phone 和 Silverlight 是一个不同的问题 - 通常不支持本机代码,但 sqlite-net 也适用于纯托管的csharp-sqlite实现,这样您就可以使用一个具有不同后端的前端库-在这些平台上结束。

于 2012-06-17T22:41:01.513 回答