Question

J'ai (après un effort significatif) obtenu DbLinq travailler avec la dernière version de Mono sur OS X.

Quelqu'un at-il des entités de base de données créée par successfulyl DbLinq / SQLite?

Par exemple, je le tableau suivant:

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

J'ai généré mon dossier * .cs et je suis en utilisant le code suivant pour tenter de créer une nouvelle entrée UserType:

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

db.UserType.InsertOnSubmit(newUserType);

db.SubmitChanges();

L'appel à SubmitChanges est de lancer une exception sur la syntaxe non valide spécifiquement lié à @ (Je devine que dans une requête paramétrées pour faire l'insert). On dirait que le code généré est spécifique à SQL Server. Y at-il une solution ou d'un drapeau que je suis absent, ou est l'insertion d'enregistrements par DbLinq à SQLite pas pris en charge?

Était-ce utile?

La solution

Transforme que lors de l'utilisation DbLinq, vous devez modifier la DB chaîne de connexion si System.Data.Linq Mono sait quel fournisseur DB à utiliser lors de la génération de son code SQL.

Ancien:

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

Nouveau:

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

Il est aussi simple que cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top