Re: ef core update 0 rows
От: Danchik Украина  
Дата: 31.12.21 10:05
Оценка: 5 (1)
Здравствуйте, dsalodki, Вы писали:

[Skip]

D>
D>$"update settings set value={Safe(val)} where name='{name}';if @@ROWCOUNT=0 insert into settings (name,value) values ({Safe(name)},{Safe(val)})"
D>


Ты хочешь UPSERT, его в EF Core нету
Тока так
using(var context = new CoinDogsContext(AppSettingsReader.GetConnectionString()))
using(var tran = context.Database.BeginTransaction(IsolationLevel.Serializable))
{
    var settings = context.Settings.FirstOrDefault(x => x.Name == name);
    if (settings == null)
    {
        settings = new Setting { Name = name };
        context.Settings.Add(settings);
    }

    settings.Value = val;
    context.SaveChanges();

    tran.Commit();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.