4

SQLite.Net を使用して Visual Studio のコンソール アプリケーションを使用してアプリのコア ロジックを構築しました。

using System.Data.SQLite;

using Mono.Data.Sqlite.dll

このプロセスは、他のコンポーネント (Json.Net など) に対して完全に機能しています。

ただし、2 つの Sqlite dll (SQL と Sql) の大文字と小文字の違いを見つけています。

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(); 

グローバルな検索と置換で修正するのは簡単ですが、環境を切り替えるたびにそうしなければならないのは少し面倒です。誰でも解決策を提案できますか?

4

2 に答える 2

4

これを解決するには、2 番目のクラスを使用してデータベース呼び出しを抽象化しました。クラスのプラットフォーム固有のバージョンを含む 2 つのアセンブリがありますSQLQuery。1 つは Windows プロジェクト用で、もう 1 つはモノタッチ用です。

私のデータベース層はただ呼び出すだけSQLQueryなので、私の呼び出しは次のようなものです

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

SQLQueryこれは、そのプラットフォームのアセンブリがプロジェクトで参照されている限り、どちらのプラットフォームでも機能します。

于 2013-05-22T16:05:05.173 に答える