相关知识点复习:

1、var 类型推断: var p=new Person();

2、匿名类型: var a=new {Name="wang",Age=12  };

3、给新创建的对象属性赋值的简化方法:   var P=new Person{Name="wang" ,Age=12 } 等价于 Person p=new Person() ;  p.Name="wang"; p.Age=12;

4、.NET高级扩展方法:

            var s0 = new Person { Name = "wang", Age = , Salary =  };
var s1 = new Person { Name = "chen", Age = , Salary = };
var s2 = new Person { Name = "li", Age = , Salary = };
var s3 = new Person { Name = "qian", Age = , Salary = };
var s4 = new Person { Name = "liu", Age = , Salary = };
var s5 = new Person { Name = "zhao", Age = , Salary = };
var s6 = new Person { Name = "sun", Age = , Salary = }; List<Person> ps = new List<Person>();
ps.Add(s0);
ps.Add(s2);
ps.Add(s3);
ps.Add(s6); var teacher1 = new Teacher() { Name = "wang",Students = {s0,s1,s2 } };
var teacher2 = new Teacher() { Name = "li" , Students = { s3, s4, s5 } }; Teacher[] ts = { teacher1, teacher2 };

(1)Any() ,判断集合是否包含元素,返回值是bool,一般比Count()>0效率高,Any还可以指定条件表达式。bool b=list.Any(p=>p.Age>50) 等价于bool b=list.Where(p=>=.Age>50).Any();

Console.WriteLine(ps.Any(p=>p.Salary>));

(2) Distinct(),剔除完全重复的数据。(*)注意自定义对象的Equal问题,需要重写Equal和GetHashCode方法来进行内容比较

(3)排序: 升序 list.OrderBy(p=>p.Age);   降序 list.OrderByDiscending(p=>p.Age) . 指定多个排序规则,而不是多个OrderBy,而是:list.OrderByDiscending(p=>p.Age).ThenBy(p=>p.Salary),也支持ThenByDiscending()

            var p1 = ps.OrderBy(p => p.Salary);
foreach (var p in p1)
{
Console.WriteLine("姓名:"+p.Name+"\n"+"薪水"+p.Salary);
}

(4) skip(n)跳过前n条数据;Take(n)获取最多n条数据,如果不足也不会报错,常用来分页获取数据。 List.Skip(3).Take(2)  跳过前3条数据获取2条数据

            var p1 = ps.Skip().Take();
foreach (var p in p1)
{
Console.WriteLine("姓名:"+p.Name+"\n"+"薪水"+p.Salary);
}

(5)Except(item1) 排除当前集合中在item1中存在的元素;

            int[] num1 = { , , , ,  };
int[] num2 = { , , , };
var num3 = num1.Except(num2); foreach (var p in num3)
{
Console.WriteLine(p);
}

(6)Union(item1) 把当前集合和item1中组合;

            int[] num1 = { , , , ,  };
int[] num2 = { , , , };
var num3 = num1.Union(num2); foreach (var p in num3)
{
Console.WriteLine(p);
}

(7)Intersect(item1)把当前集合和item1中取交集

            int[] num1 = { , , , ,  };
int[] num2 = { , , , };
var num3 = num1.Intersect(num2); foreach (var p in num3)
{
Console.WriteLine(p);
}

(8)  分组:

            foreach (var p in ps.GroupBy(g1=>g1.Gender))
{
Console.WriteLine(p.Key);
foreach (var p2 in p)
{
Console.WriteLine(p2);
}
} Console.ReadKey();

(9)SelectMany: 把集合中的每个对象的另外集合属性的值重新拼接为一个新的集合;

            foreach (var s in ts.SelectMany(t=>t.Students))
{
Console.WriteLine(s); } Console.ReadKey();

Entity Framework(一)的更多相关文章

  1. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  2. Entity Framework Core 1.1 升级通告

    原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...

  3. Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制

    将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...

  4. 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

    前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...

  5. 来,给Entity Framework热热身

    先来看一下Entity Framework缓慢的初始化速度给我们更新程序带来的一种痛苦. 我们手动更新程序时通常的操作步骤如下: 1)把Web服务器从负载均衡中摘下来 2)更新程序 3)预热(发出一个 ...

  6. 采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)

    前言 Entity Framework 延伸系列目录 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这 ...

  7. Entity Framework教程(第二版)

    源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...

  8. Entity Framework 6 Recipes 2nd Edition 译 -> 目录 -持续更新

    因为看了<Entity Framework 6 Recipes 2nd Edition>这本书前面8章的翻译,感谢china_fucan. 从第九章开始,我是边看边译的,没有通读,加之英语 ...

  9. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

    在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...

  10. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之目录导航

    ASP.NET MVC with Entity Framework and CSS是2016年出版的一本比较新的.关于ASP.NET MVC.EF以及CSS技术的图书,我将尝试着翻译本书以供日后查阅. ...

随机推荐

  1. cudaMallocPitch()

  2. ABP学习 解决:Update-Database : 无法将“Update-Database”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的问题

    原因: 没有引用EntityFramework命令 解决: 在程序包管理器控制台执行如下命令:Import-Module 项目路径\packages\EntityFramework.6.1.3(EF版 ...

  3. java后台导出pdf

    新页面打开wpf @RequestMapping("/showPdf") public String getpic( HttpServletRequest request, Htt ...

  4. java基础 UDP通信 user datagram protocol 用户数据豆协议 TCP transmission control protocol 传输控制协议 多线程TCP

    无连接通信 UDP 客户端 package com.swift.test; import java.io.IOException; import java.net.DatagramPacket; im ...

  5. VCTransitionsLibrary –自定义iOS交互式转场动画的库

    简介 VCTransitionsLibrary 提供了许多适用于入栈,出栈,模态等场景下控制器切换时的转场动画.它本身提供了一个定义好的转场动画库,你可以拖到自己工程中直接使用;也提供了许多拥有不同转 ...

  6. 1、React-Native的基础入门

    React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安 ...

  7. CBCGPImage的GetSize的问题及解决方法

    BCGControlBar Pro for MFC 25.10是目前(2018-07-16)网上能够找到的最新能够使用的版本,我配合Visual Studio 2010使用.在单文档MFC程序的视图中 ...

  8. mysql基础 日期类型

  9. ELK+kafka日志处理

    此次使用kafka代替redis,elk集群搭建过程请参考:https://www.cnblogs.com/dmjx/p/9120474.html kafka名词解释: 1.话题(Topic):是特定 ...

  10. 谷歌浏览器如何调试JS

    平常在开发过程中,经常会接触到前端页面.那么对于js的调试那可是家常便饭,谷歌浏览器是常用来调试JS代码的工具,本文主要介绍如何利用谷歌浏览器来调试JS代码,协助我们进行开发工作,加快开发效率. 1. ...