相关知识点复习:

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. matlab中padarray函数在numpy、python中的实现

    a = np.arange(6) a = a.reshape((2, 3)) print np.lib.pad(a, 1, 'symmetric') 运行结果: [[ ] [ ] [ ] [ ]]

  2. (jdbc和cmd)sqlite数据迁入mysql(导入导出)

    从sqlite进行导出数据 进行cmd命令 第一步:sqlite3->.open [文件路径](打开连接)->.tables(这个是查看表是否有没有)->.cd [切换的盘符](这里 ...

  3. Miller rabin

    蛤蛤,终于基本上搞懂了 #include<iostream> #include<cstdio> using namespace std; long long num[10]={ ...

  4. nginx+php-fpm结构模型剖析及优化(转载)

    一.nginx和php-fpm的关系和分工 nginx是web服务器,php-fpm是一个PHPFastCGI进程管理器,两者遵循fastcgi的协议进行通信,nginx负责静态类似html文件的处理 ...

  5. Linux下vim操作的一些使用技巧

    以下均为个人在编程时对vim编辑器的一些心得,大神请指点,新手可以看过来 1.多文本编辑 vim -On/-on filename_1 … filename_n 如上所示,在要编辑的文件名前加上“-O ...

  6. React路由-基础篇

    React-Router-DOM ReactRouter网址, 安装 -npmjs找到react-router-dom -yarn add react-router-dom 基本使用方法 1.创建一个 ...

  7. PHPExcel 中文使用手册详解

    /** * * execl数据导出 * 应用场景:订单导出 * @param string $title 模型名(如Member),用于导出生成文件名的前缀 * @param array $cellN ...

  8. POJ 1854 贪心(分治)

    Evil Straw Warts Live Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1144   Accepted:  ...

  9. 笔记-爬虫-XPATH

    笔记-爬虫-XPATH 1.      xpath XPath是W3C的一个标准.它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计.目前有XPath1.0和XPath2.0两 ...

  10. 【UE4】二十三、UE4笔试面试题

    在CSDN博客看到的,带着这些问题,多多留意,正所谓带着问题学习. 一. 1.Actor的EndPlay事件在哪些时候会调用? 2.BlueprintImplementableEvent和Bluepr ...