标签:查找 组合查询 跟踪 enum 区别 名称 number image sys
IEnumerable<T> 会直接加载所有数据到内存,然后再筛选。是先从数据库取出数据放入内存,然后在本地调用SKip 和 Take 等扩展方法
IQueryable<T> 会先翻译成T-SQL语句之后再向SQL服务器发送命令,它并不是把所有数据都加载到内存里来才进行条件过滤。
所以在使用ORM、linq等的时候注意这两个接口,考虑好内存
........... using (var db = new YourEntitys()) {//linq组合查询 var query = from a in db.YourTable select a; if (YourTableDto.SystemId>0) { query = query.Where(p=>p.Id==YourTableDto.Id); } if (!string.IsNullOrEmpty(YourTable.Name)) { query = query.Where(p => p.Name.Contains(YourTableDto.CategoryName)); } ..........
查找指定数据的ID
在profilter指定数据库,填入ID
指定要跟踪的表名称,并勾选列
标签:查找 组合查询 跟踪 enum 区别 名称 number image sys
原文地址:http://www.cnblogs.com/xmai/p/6693405.html