2012-11-30 2 views
3

У меня есть таблица с токеном, userName, StatusId. Прежде чем я вставляю какую-либо строку в таблицу для конкретного пользователя, я бы хотел проверить, имеются ли какие-либо строки с активным статусом, если они обновляют его до неактивного.Query update несколько строк

Я не могу понять, как это сделать в LINQ. В настоящее время iam возвращает мои значения в качестве запроса ниже.

var activeUsers = 
    (from _users in currentDataContext.Users 
     where _users.StatusId.Equals(1) 
     select _session); 

ответ

0

Будет ли это работать?

currentDataContext.Users.Where(x=> x.StatusId == true).First().StatusId = False; 
currentDataContext.SaveChanges(); 
+0

Обратите внимание, что выдаст исключение, если нет соответствующей записи с 'StatusId == true' –

2
users = currentDataContext.Users.Where(o => o.StatusId == 1); 
foreach(var item in users) 
    item.StatusId = 0; 
currentDataContext.SaveChanges(); 

Учтите, что если вы приложение много пользователей, то есть шанс, что DB был изменен после того, как вы запросили базу данных.

+0

Спасибо за ответ. Значение идентификатора состояния находится в таблице поиска с именем StatusType с столбцами statusid и statusdesc. Как я могу напрямую связать это в запросе. Например, где user.statusid = statustype.statusid. – user1663996

Смежные вопросы