摘自 http://www.cnblogs.com/ejiyuan/archive/2009/07/20/1527224.html

public static class WhereInExtension
{
private static Expression<Func<TElement, bool>> BuildWhereInExpression<TElement, TValue>(Expression<Func<TElement, TValue>> propertySelector, IEnumerable<TValue> values)
{
ParameterExpression p = propertySelector.Parameters.Single();
if (!values.Any())
return e => false;

var equals = values.Select(value => (Expression)Expression.Equal(propertySelector.Body, Expression.Constant(value, typeof(TValue))));
var body = equals.Aggregate<Expression>((accumulate, equal) => Expression.Or(accumulate, equal));

return Expression.Lambda<Func<TElement, bool>>(body, p);
}

public static IQueryable<TElement> WhereIn<TElement, TValue>(this IQueryable<TElement> source, Expression<Func<TElement, TValue>> propertySelector, params TValue[] values)
{
return source.Where(BuildWhereInExpression(propertySelector, values));
}
}

转载于:https://www.cnblogs.com/illusion/archive/2011/04/14/2016237.html

Entity framework WhereInExtension相关推荐

  1. EF-Entity Framework 相关技术点收集贴

    不定期.偶尔.添加更新 在网络上看到或者自己开发过程中碰到的EF-Entity Framework相关技术点 本文地址:http://www.cnblogs.com/vnii/archive/2012 ...

  2. C#综合揭秘——Entity Framework 并发处理详解

    引言 在软件开发过程中,并发控制是确保及时纠正由并发操作导致的错误的一种机制.从 ADO.NET 到 LINQ to SQL 再到如今的 ADO.NET Entity Framework,.NET 都 ...

  3. 《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想

    前言 借书正式出版之际,完整回顾下从写博客到写书整个历程,也算是对自己近三年在技术上的一个总结,整个历程可通过三个万万没想到来概括,请耐心阅读. 写博.写书完整历程回顾 从2013年12月注册博客园账 ...

  4. Entity Framework Code First在Oracle下的伪实现

    为什么要说是伪实现,因为还做不到类似MsSql中那样完全的功能.Oralce中的数据库还是要我们自己手动去创建的.这里,我们舍掉了Model First中的EDMX文件,自己在代码里面写模型与映射关系 ...

  5. Entity Framework:Code-First Tutorial开篇

    这个系列文章是关于Entity Framework Code-First的英文系列文章,内容不错,每篇一个主题知识点介绍,特转载过来 原文地址:http://www.entityframeworktu ...

  6. entity framework 使用Mysql配置文件

    2019独角兽企业重金招聘Python工程师标准>>> <?xml version="1.0" encoding="utf-8"?> ...

  7. Entity Framework CodeFirst数据迁移

    原文:Entity Framework CodeFirst数据迁移 前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是"Database Fi ...

  8. 看看Entity Framework 4生成的复杂的分页SQL语句

    之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题. >>> 来看一看,瞧一瞧! ...

  9. Entity Framework的启动速度优化

    最近开发的服务放到IIS上寄宿之后,遇到一些现象,比如刚部署之后,第一次启动很慢:程序放置一会儿,再次请求也会比较慢.比如第一个问题,可以解释为初次请求某一个服务的时候,需要把程序集加载到内存中可能比 ...

最新文章

  1. java的byte与C#的异同引起的字符处理问题。
  2. Windows server 2003下Oracle10g安装图解
  3. java是很厉害的么_java总是很强大吗?
  4. boost::contract模块实现stack的测试程序
  5. 基于spring boot 的ssm项目的简单配置
  6. [2021-09-02 contest]CF1251C,可达性统计(bitset优化dp),Boomerang Tournament(状压dp),小蓝的好友(mrx)(treap平衡树)
  7. Spring中AOP开发步骤
  8. Vue -- 指令【学习笔记】(持续更新)
  9. vue props 多类型_一个TypeScript简例,以及Vue支持TS的一些些事儿
  10. 关于嵌套类的调用更新问题
  11. System.Transactions.Diagnostics.DiagnosticTrace 的类型初始值设定项引发异常。配置系统未能初始化
  12. matlab设计低通滤波器
  13. 信息系统项目管理师 pdf_如何备考信息系统项目管理师?
  14. android ios emoji兼容,web端怎么和移动端emoji表情兼容
  15. Drozer的安装与使用 | Android逆向工具
  16. 站内搜索引擎源代码 asp.net
  17. 生存分析之Cox模型简述与参数求解
  18. python写剧情文字游戏_零基础学Python——制作简单文字游戏
  19. matlab的颜色映射colormap
  20. NETSDK1045 当前 .NET SDK 不支持将 .NET 6.0 设置为目标。请将 .NET 5.0 或更低

热门文章

  1. Applications Manager Docker监控
  2. 一个关于pynoi游戏的C语言编程
  3. 修正discuz发帖首次换行无效的问题
  4. nagios 监控配置介绍(二)
  5. ATS读小文件(内存命中)
  6. Apache Spark 1.5发布,新特性一览
  7. MySQL存储过程权限检查主要点
  8. amcharts应用
  9. 关于Linux下的umask
  10. Exchange2010外部传输域的使用方法