Mono.Data.Sqlite.dll与SQLite.Net的兼容性

前端之家收集整理的这篇文章主要介绍了Mono.Data.Sqlite.dll与SQLite.Net的兼容性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用sqlite.Net在Visual Studio中使用控制台应用程序为我的应用程序构建了核心逻辑,我以为我只是能够切换出来自

using System.Data.sqlite;

using Mono.Data.sqlite.dll

这个过程非常适用于其他组件(例如Json.Net).

但是,我发现两个sqlite DLL(sqlsql)之间存在套管差异.

System.Data.sqlite

sqliteCommand command = new sqliteCommand(sql,DbConnection);
sqliteDataReader reader = command.ExecuteReader();

Mono.Data.sqlite

sqliteCommand command = new sqliteCommand(sql,DbConnection);
sqliteDataReader reader = command.ExecuteReader();

它很容易通过全局查找和替换来纠正,但每次我在环境之间切换时都有点烦人.谁有人建议解决方案?

解决方法

我通过使用第二个类来抽象数据库调用解决这个问题.我有两个包含sqlQuery类的平台特定版本的程序集,一个用于Windows项目,另一个用于monotouch.

我的数据库层只调用sqlQuery,所以我的调用是这样的

sqlQuery q = new sqlQuery("SELECT * FROM foo WHERE bar = @bar");
q.AddParameter("bar",bar);
DataTable dt = q.GetResultsDT();

只要在项目中引用该平台的sqlQuery程序集,这将适用于任一平台.

猜你在找的Sqlite相关文章