У меня есть таблица с двумя столбцами, имя и приоритет. Предположим, что текущие данные (A, 1) (B, 2) (C, 3) (D, 4).Обмен двумя значениями в таблице SQL Server
Теперь из пользовательского интерфейса я редактирую D. Это я обновляю приоритет D до 2. Теперь я должен обновить приоритет D как 2 и установить приоритет B на 4. Я меняю приоритеты D и B. Как мне это сделать? В моем проекте используется инфраструктура Entity. Это, как я сейчас делаю,
public void Swap(InputObject input)
{
NamePriority prio = context.NamePriorities.Where(w => w.Name == input.Name.FirstOrDefault();
NamePriority prioToSwap = context.NamePriorities.Where(w.Priority == input.Priority).FirstOrDefault();
prioToSwap.Priority = prio.Priority;
context.SaveChanges();
prio.Priority = input.Priority;
context.SaveChanges();
}
Есть более простой и экологически чистых способов сделать это как с помощью лямбда-выражения LINQ или что-то?
Вам не нужно сохранять изменения дважды, это не отразится на значении, если вы получите его снова из базы данных. Что вы пытаетесь выполнить, это не обычный обмен? то же, что и int a = 3, int b = 2, int temp = 0; Темп = а; а = Ь; Ь = TMP? – Zinov