Кто-нибудь успешно использовал System.Data.SQLite.Linq в своем проекте?Неверные операторы SQL, сгенерированные при использовании System.Data.SQLite.Linq
Даже после включения этой DLL в мою ссылку на проект, очевидно, что Linq вызывает неправильный провайдер при создании соответствующих операторов SQL. Он бросает исключение в SQLiteCommand со следующим утверждением:
INSERT INTO [Inbox]
([Sender], [Subject], [Body], [Date], [ConversationID], [RemoteID], [ReplyTo])
VALUES
(@p0, @p1, @p2, @p3, @p4, @p5, @p6)
SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]
SCOPE_IDENTITY
не действует в SQLite. Как я могу направить System.Data.SQLite.DLL
на использование SQLite Linq SQL builder при построении операторов SQL?
Мои DbProviderFactories является:
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
</DbProviderFactories>
это правильно?
Дополнительная информация. Я не вижу System.Data.SQLite.Linq.dll
в списке модулей VS2012, когда мое приложение загружается, даже если оно находится в папке bin. Это подтверждает мое подозрение, что я пропускаю то, что явно ссылается на него, но я не могу понять, что это такое.
Спасибо!
Какой класс DBconnection вы использовали? –
Я использую SQLiteConnection: string connectionString = @ "Источник данных =" + databasePath + "; поставщик = System.Data.SQLite"; SQLiteConnection db = новый SQLiteConnection (Config.ConnectionString); с использованием (DataContext dc = new DataContext (db)) {// Код идет здесь; } –