как переписать на 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)})"