在C#中的linq-sql联接查询上具有多个ID

时间:2019-03-12 07:47:13

标签: c# sql linq linq-to-sql

我有一个exportData查询,它获取记录。

首先,我有一个可以容纳一个ID或多个ID的变量。

H.addEvent(H.Chart, 'exportData', function(e){
  e.dataRows.forEach(function(el){
    el.splice(2, 1);
  });
});

然后,我有一个linq-to-sql查询,如下所示:

linq-to-sql

我的问题是,当我有多个var consumerId = _context.Consumers.Where(x => x.UsrDefault.Equals("True")); // This can return one or an array of Ids. 时,如何执行此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() 查询?我想避免任何foreach循环。

有人可以建议吗?

1 个答案:

答案 0 :(得分:3)

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)