Lambda本质来说就是一个匿名方法, 可以包含表达式和语句. 可用于创建委托
运算符 => , 读作 goes to
格式: (input parameters) => expression
从匿名函数讲起:
delegate bool DelDemo(int a , int b ); //定义一个委托类型 , 其实是相当于定义了一个类
DelDemo fun = delegate(int a , int b ) {return a> b};
DelDemo fun ; //声明一个委托类型的实例. 该实例指向的是一个方法, 只不过这个方法是一个匿名方法. 只不过2.0之后几乎没有人使用匿名方法
delegate(int a , int b ) {return a> b}; //这就相当于js中使用function开头, 然后参数类型,参数名. . 方法体 . 等
Console.WriteLine(fun(1,3));
DelDemo funLambda = (int a , int b)=>a>b; //其实这里就相当于把第10行的, delegate关键字去掉, 然后将后面的大括号去掉, 然后中间加上一个 => (goes to)而已
//这就是Lambda表达式了. . .
Console.WriteLine(funLambda(1,3));
EF简介
ADO.NET Entity Framework是微软以ADO.NET为基础所发展出来的对象关系对应(O/R Mapping)解决方案, 早期被称为ObjectSpace, 最新版本是EF6.0,实体框架Entity Framework是ADO.NET中的一组支持开发面向数据的软件应用程序的技术. 是微软的一个ORM框架
ORM框架 中心思想: 就是将表实体和表相互转化; 把表实体的变化, 转化到数据库中; 把表数据转换成表实体;
广义上,ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的相互转换。 (表实体(表实体就是表显现的类)和表(真实数据库中的表)之间的相互转换 就是 ORM框架)
狭义上,ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。
什么是O,R,M?
O(对象模型):实体对象,即我们在程序中根据数据库表结构建立的一个个实体Entity。 相当于类
R(关系型数据库的数据结构):即我们建立的数据库表。数据库中的表.
M(映射):从R(数据库)到O(对象模型)的映射,可通过XML文件映射。
当表实体发送变化时,ORM会帮助我们把实体的变化映射到数据库表。
弱类型: 使用硬编码, 直接手写. 比如 DataTable.getInt("id") , 这就是弱类型
强类型: 通过属性方式可以打点, 点出来的.
Entity Framework和ORM框架之间的关系: 就相当于面向对象的思想和C#语言的关系; ORM是一种思想, 就像面向对象是一种思想, C#可以使用这种思想,java可以使用这种思想; 所以ORM也是一种思想; 所以在JAVA下实现ORM思想的是Hibernate, 在C#中是Entity Framework