В приведенном ниже коде я обновляю IndexOrder по идентификатору, используя TryUpdateModel.Ниже обновление попало в БД 2 раза.После извлечения текущей записи по Id, чем при обновлении одной строки.
Я использую LINQ To EF
foreach (var i in indexArraay)
{
SubMenu existingMenu = _menu.SubSingle(Int32.Parse(i.id.ToString()));
existingMenu.IndexOrder = string.IsNullOrEmpty(i.index.ToString()) ? 0 : Int32.Parse(i.index.ToString());
TryUpdateModel(existingMenu);
_menu.Add();
}
В SQL мы не делаем это, как в приведенном ниже выражении.
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
Я где-то не прав или есть лучший способ написать выражение обновления LINQ?
Я не говорю о производительности здесь.