最近项目中用到了Linq中Except,Distinct,Left Join这几个运算,这篇简单的记录一下这几种情形. Except      基础类型使用Linq的运算很简单,下面用来计算两个集合的差 int[] a = {1, 2, 3, 4}; int[] b = {2, 3, 4, 5}; var reslut = a.Except(b);     result 用来返回a有,b没有的值,计算结果是1. 自定义类型实现Except class Employee { public int…
返回<8天掌握EF的Code First开发>总目录 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to Entities 使用LINQ to Entities操作实体 LINQ操作 懒加载和预加载 插入数据 更新数据 删除数据 本章小结 自我测试 本篇的源码下载:点击下载 先附上codeplex上EF的源码:entityframework.codeplex.com,此外,本人的实验环境是VS 2013 Upda…
本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 管理数据库创建 管理数据库连接 管理数据库初始化 填充种子数据 LINQ to Entities详解 什么是LINQ to Entities 使用LINQ to Entities操作实体 LINQ操作 懒加载和预加载 插入数据 更新数据 删除数据 本章小结 本人的实验环境是VS 2013 Update 5,windows 10,MSSQL Server 2008. 上一篇<Code First开发系列之领域建…
LINQ操作List<T>主要包括: 1.筛选 List<string> stcdList = stcdArray.ToList<string>() .FindAll(new Predicate<string>(stcd => stcd.Contains("stcd_"))) .Select(stcd => stcd.Substring()) .ToList<string>(); 2.拼接 List<stri…
数组是大学里经常拿来做算法练习的对象.一些经典算法非常有价值,考试.装逼.面试都十分有用.但现在是效率时代,编程讲究生产效率,利用LINQ,可以让程序猿避免写一些基本算法,把精力花在业务处理上. 下面以数组为例,展示一些常用LINQ操作. staticvoidMain(string[] args){int[] a ={1,2,3,4,5,6,7};int[] b ={4,5,6,7,8,9,10};int[] c ={1,2,3,3,4,1,2,4,6,1,6,5};// 交集var fuck…
我们都知道,Linq能查询泛型集合,确切的说是:LINQ能实现查询泛型对象或者实现了IEnumerable.但是,很遗憾的是诸如ArrayList这样的非泛型集合并没有实现IEnumerable.那咋办呢?总不能把这么绚丽的Linq技术对非泛型关上大门把!~其实,方法还是有的. 场景还原: 定义一个car的类: class Car { public int CurrentSpeed; public int MaxSpeed; public string PetName; } 对ArrayList…
适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明:在Join操作中,分别为Join(Join查询), SelectMany(Select一对多选择)和GroupJoin(分组Join查询). 该扩展方法对两个序列中键匹配的元素进行inner join操作 SelectMany 说明:我们在写查询语句时,如果被翻译成SelectMany需要满足2个条件.1:查询语句中没有join和into,2:必须出现EntitySet.在我们…
使用微软.net的孩子们应该都知道linq吧,要知道linq可是其他高级语言没有的技术,比如php,java等等,但是起初我对linq的认识只是停留在对 list<> 的泛型集合进行操作,要知道操作数据库的,我们比较容易得到的是 datatable,而得到 list<>集合的性能会降低,很多情况下,我们需要对我们的datatable进行操作,很多想到了的对datatable进行逐行或者 逐列进行遍历,但是如果要对datatable进行分组 那就没有办法了,在找了很多资料之后,我发现…
关于XML,之前解析过电文收发方面的,就是所谓的带表头.前缀(命名空间)SOAP格式.这次需求是解析一个xml的模板(xls内容),然后填充数据,最后保存.需要时可转换xls.pdf等文件.关于这种带属性xml文件, 只要了解linq操作的方法, 在參照微软官网上有样例,XAttribute类就是定义属性.基本上多数都可以解决.详细方法,随笔XML分类中,介绍的比较详细,至于今天要介绍的xls内容的xml文件的解析,以及创建节点也不在分篇,大致介绍下整体的思路. 比如其中某个定义表节点: <ct…
//对应数据库中的某个表 [Table(Name = "main.Student")]    public class Student    {        [Column(Name = "StuName", DbType = "varchar(50)")]        public string StuName { get; set; } [Column(Name = "StuNo", DbType = "va…
class A { public int id { get; set; } public string name { get; set; } } class B { public int id { get; set; } public int age { get; set; } } class C { public int id { get; set; } public string address { get; set; } } private void button8_Click(objec…
参考资料: LINQ系列:LINQ to DataSet的DataTable操作 List<T>转换为DataTable C# DataTable 和List之间相互转换的方法 Linq中使用Left Join linq中如何在join中指定多个条件 陷阱~EF中的Update与Insert共用一个数据上下文 c#根据字符串创建对象实例 EF直接更新数据(不需查询) 如何把匿名类型.GetType()返回的对象传进泛型里面…
添加下面命名空间到您的程序中: using MongoDB.Driver.Linq; 声明一变量保存对集合的引用 var collection = database.GetCollection<TDocument>("collectionname"); 最基本调用linq查询的方式是构造一个集合变量,通过调用AsQueryable<TDocument>() 后,你便可以正常调用linq了. var query = from e in collection.AsQ…
在讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML,但是相对来说LINQ to SQL在我们程序中使用最多,毕竟所有的数据都要在数据库运行着各种操作.所以先来学习LINQ to SQL,其它的都差不多了,那么就从Select说起吧,这个在编写程序中也最为常用.本篇详细说明一下S…
原文来自:http://www.50cms.com/Pages_13_72.aspx 本篇详细说明linq中的Select和Count/Sum/Min/Max/Avg等的用法. Select/Distinct操作符 SQL命令中的select作用相似但位置不同,查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来:延迟. Select/Distinct操作包括9种形式,分别为简单用法.匿名类型形式.条件形式.指定类型形式.筛选形式.整形类型形式.嵌套类型形式.本…
LINQ查询时有两种语法可供选择:查询表达式语法(Query Expression)和方法语法(Fluent Syntax). 一.查询表达式语法 查询表达式语法是一种更接近SQL语法的查询方式. LINQ查询表达式语法如下: from<range variable> in <IEnumerable<T> or IQueryable<T> Collection> <Standard Query Operators> <lambda expr…
一.基本的Select 操作 语法SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE where_condition][GROUP BY col_list [HAVING condition]][   CLUSTER BY col_list  | [DISTRIBUTE BY col_list] [SORT BY| ORDER BY col_list][LIMIT number]•使用AL…
Distict用来排除相同序列中元素的,对于基础类型,可以直接使用Distinct,如:int[] a = {1, 2, 2, 3, 3, 3, 4};var reslut = a.Distinct();结果是1,2,3,4但对于自定义类型,则需要额外的一些操作,方式有多种,这里选择其中一种,即实现IEquatable<T>,如: using System; using System.Collections.Generic; using System.Linq; using System.Te…
当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left Join获取数据: Linq语法如下: var sg = (from g in dc.sgroup                     join gu in dc.sgroupuser on g.gKey equals gu.gKey into l                     fro…
Linq使用Group By 1 1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:Linq使用Group By按CategoryID划分产品. 说明:from p in db.Products 表示从表中将产品对象取出来.group p by p.CategoryID into g表示对p按CategoryID字段归类.其结果命名为g,一旦重新命名,p的作用域就结束了,所以,最…
1:添加控制器类文件HomeController.cs其代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcTestData.Models; namespace MvcTestData.Controllers { public class HomeController : Controller { // /…
查询表达式(LINQ)简介 C#3.0新语特性和改进,这些新特性在我们编写程序时为我们提供了非常大的帮助.从这篇开始,我们开始一起来探讨LINQ. LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源. LINQ定义了一组标准查询操作符用于在所有…
linq中的join是inner join内连接,就是当两个表中有一个表对应的数据没有的时候那个关联就不成立. 比如表A B的数据如下 from a in A join b in B on a.BId equals b.Idselect new {a.Id, b.Id} 的结果是 {1,1} {2,2} {4,4} 因为3在B表中不存在,所以连接失败,不返回,但是当我们需要返回一个{3, null}的时候怎么办呢,这就是左连接,反之,如果是{null,3} 则是右连接. from a in A…
·Select - Select选择:延迟 ·Where - Where查询:延迟 ·OrderBy - 按指定表达式对集合正序排序:延迟 ·OrderByDescending - 按指定表达式对集合倒序排序:延迟 ·GroupBy - 分组:延迟 ·Join - Join查询:延迟 ·GroupJoin - 分组Join查询:延迟 ·Distinct - 过滤集合中的相同项:延迟 ·Union - 连接不同集合,自动过滤相同项:延迟 ·Concat - 连接不同集合,不会自动过滤相同项:延迟…
class ClientStruct { public string ID = "ID"; public string Name = "Name"; public string Company = "Company"; public string CreatedDate = "CreatedDate"; } " } }; protected void LinqDataTable() { DataRow row; Cl…
一.什么是LINQ TO EntitiesLINQ,全称是Language-INtegrated Query(集成语言查询),是.NET语言中查询数据的一种技术.LINQ to Entities是一种机制,它促进了使用LINQ对概念模型的查询. 因为LINQ是声明式语言,它让我们聚焦于我们需要什么数据而不是应该如何检索数据.LINQ to Entities在实体数据模型之上提供了一个很好的抽象,所以我们可以使用LINQ来指定检索什么数据,然后LINQ to Entities provider会处…
在使用Linq to Sql的时候,进行两个表的左连接的时候要注意defaultifempty的使用,这个函数本来的意思即是:如果为空则使用默认值代替,默认值为 NULL ,当然也可以使用defaultifempty的另一个重载指定默认.如要了解该函数的详细使用,请看文档:http://msdn.microsoft.com/zh-cn/library/system.linq.enumerable.defaultifempty.aspx 看下面的例子: var q = (from c in    …
转载自http://www.360doc.com/content/18/0731/18/58287567_774731201.shtml django提供的数据库操作API中的distinct()函数,了解SQL语句的读者都应该知道,DISTINCT关键字可以在select操作时去重.django里的这个distinct()函数也是这个功能,通常的用法是我们要取出一张表中的某一列的所有值,并且只取出不重复的,如果有重复的就只取出来一次,网络上几乎所有的对这个函数的使用例子对应的Python代码都…
概述 Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术. Linq主要包含4个组件---Linq to Objects.Linq to XML.Linq to DataSet 和Linq to SQL. Linq to SQL 组件--可以查询基于关系数据的数据 Linq to Dataset组件--可以查询DasaSet对象中的数据,并对数据进行增删改查的操作 Linq to Objects组件--可以查询IEn…
单独的聚合命令(group,distinct,count) 单独聚合命令 比aggregate性能低,比Map-reduce灵活度低:但是可以节省几行javascript代码,后面那句话我自己加的,哈哈哈- count()方法可以查询统计符合条件的集合的总数 db.COLLECTION_NAME.count(<query>) // 此方法等价于 db.COLLECTION_NAME.find(<query>).count() 在分布式集合中,会出现计算错误的情况,这个时候推荐使用a…