所以我花了一些时间用这个linq并且无法提出最佳解决方案。考虑以下linq
我希望能够根据BaseItemID值选择不同的条目,例如,每当我有两个Chicken条目时,我想选择第二个条目,因为它取代了第一个条目。另一种表达方式是每当条目具有BaseItemID值时,选择此条目并从列表中删除基本条目,因此将返回列表并删除项目1003。另一种表达条件的方法是仅选择BaseItemID字段中任何行中不存在其ID值的项目。
如果我可以按名称分组,然后选择 BaseItemID!= null和Count>的项目,那么问题就很容易了。 1 ,但事实并非如此,名称字段不是唯一的,我不能真正依赖它来进行分组。
由于
答案 0 :(得分:1)
您可能必须自己加入表格:
from i in Items
where i.Category.ServiceProviderID == 2
&& !Items.Any(ii=>ii.BaseItemID == i.ID)
你应该做join
,这应该是更好的表现。