두 개의 열, 이름 및 우선 순위가있는 테이블이 있습니다. 현재 데이터가 (A, 1) (B, 2) (C, 3) (D, 4)라고 가정합시다.SQL Server 테이블에서 두 값을 바꿉니다.
UI에서 저는 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과 동일; temp = a; a = b; b = tmp? – Zinov