Domanda

Ho (dopo qualche sforzo significativo) ottenuto DbLinq lavorare con l'ultima build di Mono su OS X.

Qualcuno ha creato successfulyl entità del database tramite DbLinq / Sqlite?

Per esempio, io ho la seguente tabella:

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

Ho generato il mio file * .cs e sto utilizzando il seguente codice per tentare di creare una nuova voce UserType:

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

db.UserType.InsertOnSubmit(newUserType);

db.SubmitChanges();

La chiamata alla SubmitChanges sta gettando un'eccezione sulla sintassi non valida in particolare riferibili alle @ (sto cercando di indovinare in una query con parametri per fare l'inserto). Sembra che il codice generato è SQL Server specifica. C'è una correzione o la bandiera che mi manca, o è l'inserimento di record attraverso DbLinq a SQLite non è supportato?

È stato utile?

Soluzione

Risulta che quando si usa DbLinq, è necessario modificare la stringa di connessione DB così System.Data.Linq di Mono sa quale fornitore di DB da utilizzare quando si genera il codice SQL.

Vecchio:

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

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

E 'così semplice come sembra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top