2

私は (かなりの労力を費やした後) DbLinq を OS X 上の Mono の最新ビルドで動作させました。

DbLinq/Sqlite を介してデータベース エンティティを正常に作成した人はいますか?

たとえば、次の表があります。

CREATE TABLE UserType (
    id integer primary key,
    description text )

*.cs ファイルを生成し、次のコードを使用して新しい UserType エントリを作成しようとしています。

UserType newUserType = new UserType();
newUserType.id = null // Attempting to get SQLite to increment
newUserType.description = "Administrator";

db.UserType.InsertOnSubmit(newUserType);

db.SubmitChanges();

SubmitChanges への呼び出しは、特に @ に関連する無効な構文に関する例外をスローしています (挿入を行うためにパラメーター化されたクエリで推測しています)。生成されているコードは SQL Server 固有のようです。不足している修正またはフラグはありますか、または DbLinq を介した SQLite へのレコードの挿入はサポートされていませんか?

4

1 に答える 1

3

DbLinq を使用する場合、Mono の System.Data.Linq が SQL コードを生成するときに使用する DB プロバイダーを認識できるように、DB 接続文字列を変更する必要があることがわかりました。

年:

SqliteConnection("Data Source=MyDatabase.sqlite");

新しい:

SqliteConnection("DbLinqProvider=Sqlite;Data Source=MyDatabase.sqlite");

それはそれと同じくらい簡単です。

于 2009-10-02T15:59:06.007 に答える