对于即将发布的sqlite3对WinRT构建的支持,Mono.Data.Sqlite库是否会实现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的方式吗?:)
任何参赛者?
答案 0 :(得分:1)
这不会回答您的问题,但可能会解决您的问题。
Tim Heuer的blog post关于WinRT上的SQLite支持:
有些人可能会询问System.Data.Sqlite,因为ADO.NET不是.NET Framework Core配置文件的一部分,所以无法使用它。
因此,虽然现在可以在WinRT Metro样式应用程序中使用本机SQLite二进制文件,但不支持托管ADO-NET驱动程序(System.Data.SQLite)。 Tim建议使用轻量级sqlite-net C#包装器,它是对P / Invoke访问本机SQLite库的瘦ORM包装器。 sqlite-net肯定适用于Mono,包括MonoTouch和Mono for Android。
在版本5之前的Windows Phone和Silverlight是一个不同的问题 - 通常不支持本机代码,但sqlite-net也适用于纯托管csharp-sqlite实现,因此可以使您保持单个前端库,在这些平台上使用不同的后端。