当前位置: 首页 > 编程语言 > C#

LINQ:如何从IQueryable共享中删除元素

时间:2023-04-11 10:29:07 C#

LINQ:如何从IQueryable中删除元素如何循环遍历IQueryable并删除一些我不需要的元素。我正在寻找类似这样的东西varitems=MyDataContext.Items.Where(x=>x.Container.ID==myContainerId);foreach(Ite??miteminitems){if(IsNotWhatINeed(item))items.Remove(item);}是否可以?提前致谢您应该可以进一步查询varfiltered=items.Where(itm=>IsWhatINeed(itm));还要注意布尔函数的轻微变化是正而不是负。那(负面)是非运营商的目的。items=items.Where(x=>!IsNotWhatINeed(x));varitems=MyDataContext.Items.Where(x=>x.Container.ID==myContainerId&&!IsNotWhatINeed(x));或varitems=MyDataContext。Items.Where(x=>x.Container.ID==myContainerId).Where(x=>!IsNotWhatINeed(x));其他答案是正确的,您可以使用“where”语句进一步优化您的查询。但是,我假设您的查询是Linq2Sql查询。因此,在使用自定义函数进一步过滤之前,您需要确保数据存储在内存中:varitems=MyDataContext.Items.Where(x=>x.Container.ID==myContainerId).ToList();//获取内存中的数据varitemsToRemove=items.Where(IsNotWhatINeed);如果您真的想扩展IQueryable,则必须将“IsNotWhatINeed”函数转换为Linq2Sql可以理解的内容。试试看:以上就是C#学习教程:LINQ:HowtodeleteelementsfromIQueryable分享的所有内容,如果对大家有用还需要详细了解C#学习教程,希望大家多多关注——varitems=YourDataContext.Items.Where(x=>x.Container.ID==myContainerId&&!IsNotWhatYouNeed(x));本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢