Как обновить запись в БД с помощью CRUD операций?

92
24 ноября 2020, 17:10

Не могу написать функцию которая обновляет запись в БД. Пробую так:

public void Update(string name, int age, int id)
{
    using(VideoGamesDatabaseContext context = new VideoGamesDatabaseContext())
    {
        if(context.VideoGames != null)
        {
            var update = context.VideoGames.Where(r => r.Id == this.id);
            context.VideoGames.Update(update);
            context.SaveChanges();  
        }
    }
}
Answer 1

Как-то так:

public void Update(string name, int age, int id)
{
    using (VideoGamesDatabaseContext context = new VideoGamesDatabaseContext())
    {
        var entity = context.VideoGames.SingleOrDefault(r => r.Id == this.id);
        if(entity != null)
        {
            entity.Age = age;
            entity.Name = name;
            context.SaveChanges();
        }
    }
}

Это простой и надёжный подход. Когда вам надоест все поля выписывать постоянно - переходите на использование CurrentValues.SetValues

См. подробнее тут: https://stackoverflow.com/q/25894587/5752652

READ ALSO
WPF скопировать элемент

WPF скопировать элемент

в коде создаю 2 похожих элемента для канваса:

116
конвертировать массив из javascript в c#

конвертировать массив из javascript в c#

В проекте на c# использую скипт JS для сбора ссылочекСам скрипт на js:

108
ASP.NET Core SignalR. Ошибка подключения

ASP.NET Core SignalR. Ошибка подключения

Всем приветМожет быть я и задаю много вопросов

119
Выборка в mySQL по нескольким параметрам

Выборка в mySQL по нескольким параметрам

Голову сломал, поэтому, прошу помощиСуть вопроса: есть таблица table, в которой хранятся объявления

79