Эквивалент Linq-To-Sql для этого SQL-запроса - PullRequest
0 голосов
/ 20 мая 2010

До сих пор я использовал объединенную строку идентификатора, например 1,2,3, и обновил в своей таблице этот запрос ...

if exists( select ClientId from Clients where ClientId IN (SELECT i.items FROM dbo.Splitfn(@Id,',') AS i))
    begin
        update Clients set IsDeleted=1 where ClientId IN (SELECT i.items FROM dbo.Splitfn(@Id,',') AS i)
        select 'deleted' as message
    end

Каков эквивалент linq-to-sql для вышеуказанного запроса? Любое предложение ...

1 Ответ

1 голос
/ 20 мая 2010

Если я понял, что вы пытаетесь сделать правильно, что-то вроде этого должно сработать.

var idsToDelete = ids.Split(",").Select(x => Convert.ToInt32(x));

var clientsToDelete = _DB.Clients.Where(x => idsToDelete.Contains(x.Id));

foreach(var client in clientsToDelete)
{
   client.IsDeleted = true;
}

_DB.SubmitChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...