我有两个 linq 查询,查询两个不同的实体。一个实体包含所有仓库,另一个实体包含我不需要的仓库。
我使用此查询来获取所有我不需要的仓库:
var sysproWarehouses = from i in sysproSession.Query<InvWarehouse>()
group i by i.Warehouse
into g
select new
{
g.Key
};
这是我想要获取我需要的所有仓库的查询:
var stockEvaluation = from ib in mapicsSession.Query<ItemBalance>()
where //I guess it needs to be done here
orderby w.Description
group ib by w.Description
into g
select new
{
Warehouse = g.Key,
};
基本上我只需要从第二个查询中排除第一个查询结果。如果这是一个简单的问题,我很抱歉,但我是初学者,所以...谢谢!
最佳答案
您可以执行以下操作:
var sysproWarehouses = from i in sysproSession.Query<InvWarehouse>()
group i by i.Warehouse
into g
select new
{
g.Key
};
var stockEvaluation = from ib in mapicsSession.Query<ItemBalance>()
orderby w.Description
group ib by w.Description
into g
select new
{
g.Key,
};
现在,从 stockEvaluation 列表中排除 sysproWarehouses 列表项:
var result = stockEvaluation.Except(sysproWarehouses);
注意:-结果包含排除的项目
关于c# - 排除另一个 LINQ 查询中一个查询的 LINQ 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47177334/