Проблема с SQLite и LINQ
От: senglory  
Дата: 01.03.10 20:11
Оценка:
Есть база на SQLite. Есть приложение, к-рое с ней работает через LINQ to SQL и BLToolkit посередине.
    Private Sub btnAddCalendar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddCalendar.Click
        Dim frm As FormCalendar = New FormCalendar()
        If frm.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
            Using dbm As New DbManager(New SQLiteDataProvider(), cns)
                Using fs As FileStream = New FileStream("C:\PRJ\Flow\log", FileMode.Create)
                    Using tw As StreamWriter = New StreamWriter(fs, Encoding.ASCII)
                        Dim ctx As GroupCalendarDataContext = New GroupCalendarDataContext(dbm.Connection)
                        ctx.Log = tw
                        Dim cal As GroupCalendar = New GroupCalendar()
                        cal.CalendarName = frm.CalendarName

                        ctx.GroupCalendars.InsertOnSubmit(cal)
                        ctx.SubmitChanges()
                    End Using
                End Using
            End Using
            Refresh()
        End If
    End Sub



На ctx.SubmitChanges() ловлю исключение:


A first chance exception of type 'System.Data.SQLite.SQLiteException' occurred in System.Data.Linq.dll

Additional information: SQLite error
near "SELECT": syntax error


Смотрю в log и вижу, что SQLit-у пытаются скормить


SELECT CONVERT(Decimal(20),SCOPE_IDENTITY()) AS [value]



Откуда берется такая фигня и как ее лечить?
Re: Проблема с SQLite и LINQ
От: Holms США  
Дата: 01.03.10 20:48
Оценка:
Здравствуйте, senglory, Вы писали:

S>Есть база на SQLite. Есть приложение, к-рое с ней работает через LINQ to SQL и BLToolkit посередине.

извините за грубость, но я бы сказал что в вашем коде какая-то фигня творится.
Спрашивается, для чего вы всё смешали в одну кучу, и BL и Linq to SQL. Надо либо одно либо другое.

а так как у меня нету нареканий для BL, я советую перейти на него.
после этого ваш код станет таким

dmb.InsertWithIdentity(new GroupCalendar(){CalendarName = frm.CalendarName});
... << RSDN@Home 1.2.0 alpha 4 rev. 1463>>
The life is relative and reversible.
Re[2]: Проблема с SQLite и LINQ
От: senglory  
Дата: 01.03.10 21:57
Оценка:
Здравствуйте, Holms, Вы писали:

H>Здравствуйте, senglory, Вы писали:


S>>Есть база на SQLite. Есть приложение, к-рое с ней работает через LINQ to SQL и BLToolkit посередине.

H>извините за грубость, но я бы сказал что в вашем коде какая-то фигня творится.
H>Спрашивается, для чего вы всё смешали в одну кучу, и BL и Linq to SQL. Надо либо одно либо другое.

H>а так как у меня нету нареканий для BL, я советую перейти на него.

H>после этого ваш код станет таким

H>
H>dmb.InsertWithIdentity(new GroupCalendar(){CalendarName = frm.CalendarName});
H>


BL умеет по DBMLке, нарисованой в студии, создавать классы?
Re[3]: Проблема с SQLite и LINQ
От: Holms США  
Дата: 01.03.10 22:02
Оценка:
Здравствуйте, senglory, Вы писали:

S>BL умеет по DBMLке, нарисованой в студии, создавать классы?

к сожалению нет. классы либо генерите этой
Автор: koandrew
Дата: 29.01.10
утилитой из БД либо пишите сами.
... << RSDN@Home 1.2.0 alpha 4 rev. 1463>>
The life is relative and reversible.
Re[4]: Проблема с SQLite и LINQ
От: senglory  
Дата: 02.03.10 01:47
Оценка:
Здравствуйте, Holms, Вы писали:

H>Здравствуйте, senglory, Вы писали:


S>>BL умеет по DBMLке, нарисованой в студии, создавать классы?

H>к сожалению нет. классы либо генерите этой
Автор: koandrew
Дата: 29.01.10
утилитой из БД либо пишите сами.


А как ее проинсталлировать так, чтобы этот самый "BLToolkit Settings File" появился в меню студии?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.