栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

LINQ to Entities中的“ NOT IN”子句

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LINQ to Entities中的“ NOT IN”子句

如果您使用内存中的集合作为过滤器,则最好使用对Contains()的求反。请注意,如果列表太长,此操作可能会失败,在这种情况下,您将需要选择其他策略(有关为完全面向DB的查询使用策略的信息,请参见下文)。

   var exceptionList = new List<string> { "exception1", "exception2" };   var query = myEntities.MyEntity   .Select(e => e.Name)   .Where(e => !exceptionList.Contains(e.Name));

如果您要排除基于另一个数据库的查询,使用

Except
可能是一个更好的选择。(此处是指向 LINQ to
Entities中受支持的Set扩展的链接)

   var exceptionList = myEntities.MyOtherEntity.Select(e => e.Name);   var query = myEntities.MyEntity   .Select(e => e.Name)   .Except(exceptionList);

这假设一个复杂的实体,其中您要根据另一个表的某些属性排除某些实体,并希望不排除这些实体的名称。如果需要整个实体,则需要将异常构造为实体类的实例,以使它们满足默认的相等运算符(请参阅docs)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号