Linq的一些记录

时间:2022-12-18 23:37:16

1.

IQueryable接口与IEnumberable接口的区别:  IEnumerable<T> 泛型类在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了,而IQueryable<T> 是将Skip ,take 这些方法表达式翻译成T-SQL语句之后再向SQL服务器发送命令,它并不是把所有数据都加载到内存里来才进行条件过滤。

2.

Linq使用Func<T, bool>时候会产生全表查询,使用Expression<Func<T, bool>>这个来避免,参考:http://www.cnblogs.com/dudu/archive/2012/04/01/enitity_framework_func.html

3.

EF的find方法是先从内存中查询,内存中没有才查询数据库。

4.

调用Load方法就会加载数据到内存中

5.

this.actionServer.Delete(t => list.Contains(t.Id)),使用这样的方法删除,会生成一天select语句,然后根据查询到的数据逐个删除,根据查到的数据生成多个删除语句

6.

仅对 LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”。(排序时用skip需要注意)

7.

在使用Json序列化EF的Model时,Model有导航属性,可以使用Select以避免导航属性在序列化时产生循环引用,例如:

select(t=>new{t.xxx,t.xxx})控制字段,记得返回的对象为var类型
8.

linq 的like
obj.Name.Contains("名字")//%名字%
obj.Name.EndsWith("名字")//名字%
obj.Name.StartsWith("名字")//%名字
System.Data.Linq.SqlClient.SqlMethods.Like(t.Name, "客服%(这里可以写通配符表达式)")

9.

in 与 not in

//in 操作
int[] i={1,2};
var s=db.Categories.Where(t=>i.Contains(t.CategoryID));

//not in 操作
int[] i={1,2};
var s=db.Categories.Where(t=>!i.Contains(t.CategoryID));

Linq的一些记录的更多相关文章

  1. LINQ日常使用记录

    1.公司一位美女程序媛写的 2.技术总监提供(来自互联网) var query = from f in db.TField join fw in db.TFieldWel on f.emp_no eq ...

  2. 用LINQ在集合中查询特定对象

    这里是原文出处: 简单的概括LINQ LINQ是Language-Integrated Query的缩写,是C# 3.0和VB 9.0中新加入的语言特性,可以在编程时使用内置的查询语言进行基于集合的操 ...

  3. C&num;编程(六十)----------LINQ的概述

    LINQ的概述 LINQ的全名为语言继承查询,是VS2008个.NET3.5版中一款突破性的创新,他再对象领域和数据领域之间架起了一座桥梁.使用LINQ能大大加快对于对象数据等等的查询,加快效率. 由 ...

  4. Linq to sql 增删改查(转帖)

    http://blog.csdn.net/pan_junbiao/article/details/7015633   (LINQ To SQL 语法及实例大全) 代码 Code highlightin ...

  5. C&num; 6 与 &period;NET Core 1&period;0 高级编程 - 38 章 实体框架核心(上)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 38 章 实体框架核心(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 ...

  6. c&num;在sqlserver中使用EF框架

    vs2017,sqlserver2017(localdb)调试通过.在sqlserver中创建数据库d1,表t1如下: 录入数据如下: 在vs新建任意项目,此处以控制台为例.添加数据模型Model1: ...

  7. LINQ SQL分组取最近一条记录

    最近项目有一个需求,从订单表查询出每个客户最近一条订单记录.数据库表结构如下图 SELECT * FROM ( select ROW_NUMBER()over(partition by [custid ...

  8. C&num;小知识点记录(QQ交流群的一个小问题)Linq提取数据

    请教 这里 LINQ想 找到 最后的 4条 记录 然后放在 这里这个 List Linq查找怎么写呀? 解答:写了一个小例子作为解答. namespace C_Sharp { class Progra ...

  9. 记录一个EF连接查询的异常:the entity or complex type &&num;39&semi;x&&num;39&semi; cannot be constructed in a linq to entities query

    问题解决连接:https://*.com/questions/5325797/the-entity-cannot-be-constructed-in-a-linq-to-ent ...

随机推荐

  1. &lpar;转&rpar;小心FPGA的JTAG口&lpar;上电和下电顺序&rpar;

    同志们,根据ALTERA官方FAE(现场应用工程师)的强烈建议,请注意不要随意带电插拔你的JTAG下载接口,否则会损坏FPGA芯片的JTAG口信号管脚.现象:在排除了下载线的问题后,还是不能访问FPG ...

  2. JavaScript-CheckBox全选&sol;反选

    //------------------------------------ // 全/反选 // param checkName checkbox的name属性 //---------------- ...

  3. corosync&plus;pacemaker and drbd实现mysql高可用集群

    DRBD:Distributed Replicated Block Device 分布式复制块设备,原理图如下 DRBD 有主双架构和双主架构的,当处于主从架构时,这个设备一定只有一个节点是可以读写的 ...

  4. awsomeplayer结构认识

    把这个搞明白,算是顿悟的一个真实例子.怎么也搞不懂的架构,突然就想明白了.不过这其实是一个思维的过程. 当然如果你想明白这些东西,至少要非常清楚一个概念:接口. 我只是一个半路出家的开发者,我真正明白 ...

  5. Hadoop入门--HDFS(单节点)配置和部署 &lpar;一&rpar;

    一 配置SSH 下载ssh服务端和客户端 sudo apt-get install openssh-server openssh-client 验证是否安装成功 ssh username@192.16 ...

  6. 免费搭建wordpress博客有感

    之前一直有搭建个wordpress博客的想法,但一直没有实施.最近离职之后,空闲时间多了起来,就开始折腾wordpress博客起来. wordpress博客可玩性很高,但刚开始只想练练手,就没有想买域 ...

  7. window&period;innerWidth和document&period;body&period;clientWidth的区别

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. web前端开发浏览器兼容性处理大全

    1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...

  9. Autofac应用总结

    准备: public interface IDAL { void Insert(string commandText); } public class SqlDAL : IDAL { public v ...

  10. perl install-module&period;pl DateTime 执行无效问题的解决

    运行./checksetup.pl,总说DateTime模块需要安装,但是执行提示的perl install-module.pl DateTime 多次也还是说DateTime模块需要安装. 在神奇的 ...