在 linq-sql 上有多个 ID 在 c# 中加入查询
Having multiple Ids on linq-sql join query in c#
我有一个获取记录的 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 循环。
有人可以指点一下吗?
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)
我有一个获取记录的 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 循环。
有人可以指点一下吗?
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)