Синхронизация ADO.Net и SQL CE

Я успешно синхронизировал как исходную, так и локальную базу данных, используя элемент кэша локальной базы данных в VS 2008.

Однако мне нужно получить доступ к базе данных SQL CE напрямую из другой dll/процесса и без использования набора данных. Причина в том, что мой код бизнес-объекта не использует наборы данных.

Окончательный код будет выглядеть примерно так:

Dim conn As New SqlServerCe.SqlCeConnection("Data Source=C:\Development\UserDirectory\UserDirectory.DBSyncher\ProfDir.sdf;Persist Security Info=False;")
Dim cmd As New SqlServerCe.SqlCeCommand("Select EmailAddress from Employees Where ID=23", conn)
Dim returnString As String = ""

If conn.State = ConnectionState.Closed Then
    conn.Open()
End If
returnString = cmd.ExecuteScalar

conn.Close()
cmd = Nothing

Я замечаю что-то очень странное, используя набор данных, синхронизированные изменения отображаются, но прямой доступ к файлу базы данных CE возвращает старые данные - никаких синхронизированных данных.

Что мне не хватает? Любая помощь будет принята с благодарностью.


person Community    schedule 20.02.2009    source источник
comment
пожалуйста, добавьте тег 'sqlservercompactedition' для лучшего поиска   -  person Maksym Gontar    schedule 23.02.2009


Ответы (1)


Догадаться!

Забыл, что CE находится в процессе, поэтому он копирует файл базы данных (.sdf) в папку Debug. Вы должны ссылаться на эту базу данных, а не на ту, что находится в вашем проекте. ДОХ!

person Community    schedule 20.02.2009