Linq的一些记录
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以避免导航属性在序列化时产生循环引用,例如:
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的一些记录的更多相关文章
- LINQ日常使用记录
1.公司一位美女程序媛写的 2.技术总监提供(来自互联网) var query = from f in db.TField join fw in db.TFieldWel on f.emp_no eq ...
- 用LINQ在集合中查询特定对象
这里是原文出处: 简单的概括LINQ LINQ是Language-Integrated Query的缩写,是C# 3.0和VB 9.0中新加入的语言特性,可以在编程时使用内置的查询语言进行基于集合的操 ...
- C#编程(六十)----------LINQ的概述
LINQ的概述 LINQ的全名为语言继承查询,是VS2008个.NET3.5版中一款突破性的创新,他再对象领域和数据领域之间架起了一座桥梁.使用LINQ能大大加快对于对象数据等等的查询,加快效率. 由 ...
- Linq to sql 增删改查(转帖)
http://blog.csdn.net/pan_junbiao/article/details/7015633 (LINQ To SQL 语法及实例大全) 代码 Code highlightin ...
- C# 6 与 .NET Core 1.0 高级编程 - 38 章 实体框架核心(上)
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 38 章 实体框架核心(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 ...
- c#在sqlserver中使用EF框架
vs2017,sqlserver2017(localdb)调试通过.在sqlserver中创建数据库d1,表t1如下: 录入数据如下: 在vs新建任意项目,此处以控制台为例.添加数据模型Model1: ...
- LINQ SQL分组取最近一条记录
最近项目有一个需求,从订单表查询出每个客户最近一条订单记录.数据库表结构如下图 SELECT * FROM ( select ROW_NUMBER()over(partition by [custid ...
- C#小知识点记录(QQ交流群的一个小问题)Linq提取数据
请教 这里 LINQ想 找到 最后的 4条 记录 然后放在 这里这个 List Linq查找怎么写呀? 解答:写了一个小例子作为解答. namespace C_Sharp { class Progra ...
- 记录一个EF连接查询的异常:the entity or complex type 'x' cannot be constructed in a linq to entities query
问题解决连接:https://stackoverflow.com/questions/5325797/the-entity-cannot-be-constructed-in-a-linq-to-ent ...
随机推荐
- python 如何找到某一目录下的文件类型(三种方法)
#!/usr/bin/env python import glob import os os.chdir(“./”) for file in glob.glob(“*.py”): print file ...
- C#将C++动态库的回调函数封装成事件
关于C#调用C++动态库的文章很多,调用动态库中回调函数的方法也不在少数.但大多数调用回调函数的方法依然保留了C++的语法特点. 比如有一段C++的回调函数代码,为了表达它的意思,我把注释也粘贴了进来 ...
- selenium项目总结(UI自动化测试平台搭建、测试报告生成、邮件转发)
最近博主完成了一个web端UI自动化平台测试环境搭建,包括常用的操作流程组合成方法,组织测试用例,利用框架及报告文件生成,最后通过邮件添加附件的格式发送. 首先UI自动化平台的核心是selenium+ ...
- 【LeetCode】14. Longest Common Prefix 最长前缀子串
题目: Write a function to find the longest common prefix string amongst an array of strings. 思路:求最长前缀子 ...
- OSGI.NET mainfest.xml 配置
在使用 OSGI.NET进行插件式的开发时,需要对 Mainfest.xml 进行配置, Mainfest 文件是插件的重要配置文件,其中暴露了插件启动方式以及插件启动时所依赖的程序集或其它资源的信息 ...
- CSS 宝库
Cascading Style Sheets, 层叠样式表单或者层叠样式表.简称CSS. 目的是为了表现HTML或者XML的样式. 可以做到网页内容和表现的分离.可以说,CSS是一种表现语言. h5禁 ...
- 在C++中调用DLL中的函数 (2)
应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL之前首先要知道DLL中函数的结构信息. Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin. ...
- PAT1099
/*innner order traverse for BST will be ordered *1.sort the value in buffer *2.inner traverse the BS ...
- ct任务添加与中控机批量后台操作
ct 任务nohup sh ./bin/start.sh </dev/null >/dev/null 2>&1 & 中控机批量 for h in `get_hosts ...
- Android IOS WebRTC 音视频开发总结(十二)-- sufaceview
谈到音视频不得不谈谈对视频呈现的理解,为了让大家能有一个更好的理解,先看看android里面SurfaceView的原理,后续陆续分享其绘画原理. 说明:本文是转载的,转载自哪里我也不知道,貌似经过很 ...