Наличие нескольких идентификаторов в запросе соединения linq-sql в c # - PullRequest
1 голос
/ 12 марта 2019

У меня есть linq-to-sql запрос, который выбирает записи.

Прежде всего, у меня есть переменная, которая может содержать Id или несколько идентификаторов.

var consumerId = _context.Consumers.Where(x => x.UsrDefault.Equals("True"));
// This can return one or an array of Ids. 

Затем у меня есть запрос linq-to-sql:

var query = (from users in _context.Users 
            join consumers in _context.Consumers 
            on usersId equals consumerId 
            select new UserConsumerDto 
            {
             FirstName = users.FirstName, 
             LastName = users.LastName
            }).ToList()

Мой вопрос заключается в том, что когда у меня несколько consumerId, как я могу выполнить этот запрос linq-to-sql? Я хочу избежать любого цикла foreach.

Может кто-нибудь посоветовать, пожалуйста?

1 Ответ

3 голосов
/ 12 марта 2019

Contains - метод, который будет использоваться здесь или Any().

См. Фрагмент кода ниже:

var query = (from users in _context.Users 
            join consumers in _context.Consumers 
            on users.usersId equals consumers.consumerId 
            where consumerId.Contains(consumers.consumerId)
            select new UserConsumerDto 
            {
             FirstName = users.FirstName, 
             LastName = users.LastName
            }).ToList()

для любого:

where consumerId.Any(id => id == consumers.consumerId)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...