質問

私は(いくつかの重要な努力の後に)OS X上のMonoの最新ビルドでの作業DbLinqを頂いております。

誰もがDbLinq / Sqliteを経て作成されたデータベース・エンティティをsuccessfulylていますか?

たとえば、私は以下の表を持っています:

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固有であるように見えます。修正やフラグがあり、私が欠けている、またはSQLiteのにDbLinqてレコードを挿入されていないサポートされていますか?

役に立ちましたか?

解決

はDbLinqを使用しているとき、あなたはMonoのSystem.Data.Linqは、そのSQLコードを生成するときに使用するDBプロバイダを知っているので、DB接続文字列を変更する必要があることが判明します。

旧ます:

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

新規ます:

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top