Не работает удаление из базы данных Entity Framework WPF
Функция удаления из БД
public bool DeleteArticle(NewArticlesViewModel news)
{
bool IsDeleted=false;
try
{
var article = db.Articles.Find(news.Id);
db.Articles.Remove(article);
var NoOfRowsAffected = db.SaveChanges();
IsDeleted = NoOfRowsAffected > 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK);
}
return IsDeleted;
}
В отладке видно, что объект находится. Но когда выполняется SaveChanges, выбивает исключение, что при оновлении записей возникла ошибка. Если смотреть подробнее в журнале, то пишет, что
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense.AsyncCompletion.CompletionSource.<GetDescriptionAsync>d__27.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) в Microsoft.VisualStudio.Text.Utilities.GuardedOperations.<CallExtensionPointAsync>d__36`1.MoveNext() --- Конец трассировка стека из предыдущего расположения, где возникло исключение --- в Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
Ответы (1 шт):
Автор решения: Blackmeser
→ Ссылка
var article = db.Articles.FirstOrDefault(f => f.Id == news.Id);
if (article != null)
db.Articles.Remove(article);
else
throw null;
var NoOfRowsAffected = db.SaveChanges();