2011-06-11 4 views
1

У меня есть файл базы данных SQL Server CE, и у меня есть объект Entity Framework ADO.NET с именем History. Я делаю следующее, чтобы получить последний ID:База данных SQL Server CE и ADO.Net Entity Framework - данные не сохраняются

var historyid = (from id in db.Histories // Get the current highest history Id 
       select (Int32?)(id.Id)).Max(); 

HistoryID = Convert.ToInt32(historyid); 

if (HistoryID == 0) // No current record exists 
{ 
    HistoryID = 1; // Set the starter history Id 
} 

(Не лучший способ, но это просто тест).

Это хорошо работает и возвращает правильное значение (если я вручную ввести идентификатор 1, он возвращает 1, то же самое с 2 и т.д ..)

Проблема заключается в следующем коде:

History history = new History(); 
history.Id = 1; 
history.SoftwareInstalled = "test"; 

db.AddToHistories(history); 
db.SaveChanges(); 

Вышеупомянутые работы выполняются отлично, но изменения не сохраняются в базе данных! Почему это?

Вот мой дб переменная: dbDeSluggerEntities db = new dbDeSluggerEntities();

Спасибо.

Редактировать: Вот обновление: Я заметил, что когда я запускаю программу и отлаживаю ее, она показывает, что история была создана и вставлена, а также дает ошибку первичного ключа, уже существующего, это происходит каждый раз, когда я запускаю приложение (снова и снова). Однако, когда я перехожу к серверному проводнику и щелкаю правой кнопкой мыши по db и выбираю «Показывать данные таблицы», он не показывает никаких данных. Когда программа запускается снова, в отладке нет ошибки первичного ключа или истории.

+0

Можете ли вы показать нам свою строку подключения? Возможно, вы воссоздаете базу данных каждый раз, когда запускается ваше приложение? –

ответ

2

У меня была такая же проблема. По умолчанию база данных копируется в папку bin при запуске приложения и используется.

Мое решение состояло в том, чтобы войти в свойства db и установить его, чтобы он никогда не копировал и не помещал полный путь к базе данных в строке подключения в конфигурационном файле приложений.

Смежные вопросы