[手工转载]Entity Framewor 实现 (include + where)条件过滤
来源:互联网 发布:孤独大脑 喻颖正 知乎 编辑:程序博客网 时间:2024/05/15 07:36
如果我们想在子查询做过滤的话应该怎样写呢?
IEnumerable<Product> products = db.products.Include(p => p.colors.Where(c => c.id == 5)).ToLis();
可能你以为是这样,但是结果是错误的!正确的做法是使用一个匿名对象来包装:
var products = db.products.Include(p => p.colors).Select(p => new{ id = p.id, colors = p.colors.Where(c => c.id == 5) //还有其它属性 }).ToList();
这个方法虽然可以但是缺点很多,比如要写一堆属性=value, 而且出来是IEnumerable<匿名对象> 而不是 IEnumerable<Product>,所以呢我们应该要这样来写:
IEnumerable<Product> products = db.products.Include(p => p.colors).Select(p => new{ Product = p, colors = p.colors.Where(c => c.id == 5) //不需要其它属性了}).ToList().Select(p => p.Product).ToList();
以此,可以减少代码量,提高编程速度!!
阅读全文
1 0
- [手工转载]Entity Framewor 实现 (include + where)条件过滤
- hibernate使用@where实现条件过滤功能
- 数据where条件过滤
- Linq使用Group By分析 Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
- Oracle select ---------having条件过滤与where条件过滤
- oracle-having条件过滤与where条件过滤
- Oracle select ---------having条件过滤与where条件过滤
- SQL中on条件与where条件的区别(转载)
- thinkphp where条件预处理过滤的占位符含义
- sql语句中过滤条件where和having的区别
- ThinkPHP where查询条件预处理过滤的占位符含义
- JOIN ON后面的过滤条件和where后面的过滤条件有什么不同?
- ORACLE WHERE 条件里面如何实现分支。
- where条件
- Mysql 与聚合函数在一起时候where条件和having条件的过滤时机
- 自定义过滤条件的实现方法(1)
- Python: 数组条件过滤简洁实现方式
- left join 过滤条件写在on后面和写在where 后面的区别
- git提交时候报错
- 网易笔试:Fibonacci数列
- ERROR 1366 (HY000): Incorrect string value-解决方案
- Android 消息机制(Handler、Looper和MessageQueue)
- LeetCode 90 SubsetsII (Python详解及实现)
- [手工转载]Entity Framewor 实现 (include + where)条件过滤
- 三种人工智能开源框架
- 程序的灵魂----算法(一)
- NYOJ 257 郁闷的C小加(一)
- 高级数据结构 | 线段树的入门与入门
- Java8之Stream
- hdu 4565 So Easy!
- [bzoj4916] 神犇和蒟蒻
- 进程控制1——关于进程控制的一些基础知识