ef core update 0 rows
От: dsalodki Беларусь http://dsalodki.wix.com/resume
Дата: 31.12.21 08:16
Оценка:
как переписать на ef core ?
в частности интересует update когда 0 записей обновлено

я думал так
            using(var context = new CoinDogsContext(AppSettingsReader.GetConnectionString()))
            {
                var settings = new Setting { Name = name };
                context.Settings.Attach(settings);
                settings.Value = val;
                var rowcount = context.SaveChanges();
                if(rowcount == 0)
                {
                    settings = new Setting { Name = name, Value = val };
                    context.Settings.Add(settings);
                    context.SaveChanges();
                }

но получаю ошибку здесь (var rowcount = context.SaveChanges()
Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException: 'The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions.'

$"update settings set value={Safe(val)} where name='{name}';if @@ROWCOUNT=0 insert into settings (name,value) values ({Safe(name)},{Safe(val)})"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.