В настоящее время я пытаюсь обновить значения в моей базе данных. Мой код работал безупречно, пока я не добавил новое значение в базу данных. Я обновил свой DataClasses1.dbml, и он показывает новый столбец, который я добавил в базу данных. Тем не менее, я получаю исключение Stackoverflowexception при вызове context.SubmitChanges(). Содержит 2 набора изменений объектов, которые должны быть обновлены (ДОПОЛНЕНО 5 столбцов на строку в данном случае)DataClassesDatacontext Stackoverflow при отправке изменений
var customers = new List<Customer>();
using (var context = new DataClasses1DataContext())
{
var result = from custs in context.Customer
where custs.ACTION_ID == desRequest.First().ACTION_ID &&
!custs.ARCHIVATED
select custs;
Inputvalidation.SetAddressLines(ref result);
context.SubmitChanges();
customers = result.ToList();
}
context.GetChangeSet показывает:
{{Inserts: 0, Deletes: 0, Updates: 2}}
Deletes: Count = 0
Inserts: Count = 0
Updates: Count = 2
Перед обновлением каждой строки я добавления новых клиентов из-JSon пост в nancyfx с этим кодом (который, к моему удивлению все еще работает, как предполагалось)
private static bool AddItems(string request)
{
// Hier alle sammeln und in einem wisch rein
var customers = JsonConvert.DeserializeObject<IEnumerable<Customer>>(request);
foreach (var cstmr in customers)
{
using (var context = new DataClasses1DataContext())
{
context.Customer.InsertOnSubmit(cstmr);
try
{
context.SubmitChanges();
}
catch (Exception)
{
//TODO: Hier ggfs. reparieren
context.SubmitChanges();
return false;
}
}
}
return true;
}
это оШИБОК детали: «Das Programm» [8028] iisexpress.exe «wurde mit Code -2147023895 (0x800703e9) beendet».
Stacktrace показывает null. Что я делаю неправильно, и что я могу улучшить?
Какова трассировка стека вашего исключения? Это, как правило, очень помогает с исключениями переполнения стека. – Sefe
В Сведения об ошибке нет дополнительной информации. Я обновил OP – Zoba
ОК, кажется, что система так сильно падает, что не может дать вам стек. Если система приостанавливается некоторое время до сбоя, вы можете приостановить работу в отладчике и проверить стек вызовов. Это может дать вам намек на то, что происходит. – Sefe