目录
EntityFramework数据持久化复习资料4、Lambda表达式的使用(重点内容)
微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。开发人员使用Linq语言,对数据库操作如同操作Object对象 一样省事。EF有三种使用场景,1. 从数据库生成Class,2.由实体类生成数据库表结构,3.通过数据库可视化设计器设计数据库,同时生成实体类。 ORM (对象关系型映射)是将数据存储从域对象自动映射到关系型数据库的工具。ORM主要包括3个部分:域对象、关系数据库对象、映射关系。ORM使类提供自动化CRUD,使 开发人员从数据库API和SQL中解放出来。以前是使用ADO.NET来进行对数据库中得数据表进行操作,现在,使用ORM直接对对象进行操作,操作对象就等于操作数据库表, 那怎么让对象和数据库表一一对应起来?这个过程就是通过ORM框架来完成的,操作对象就是操作数据库也是通过ORM来完成的。ORM框架就是做对象和数据库的映射的。 那么EntityFramework的作用是什么? 我的理解就是大大简化数据库操作的,举个例子:在没有使用EF前,我们要编写复杂的SQL语句,而使用了EF之后,将会减少编写复杂的SQL语句过程。
系统环境:win7及以上,本示例环境win11 开发工具:Visual Studio 2017及以上 创建项目: 控制台请创建【控制台应用(.NET Framework)】 Web请创建【ASP.NET Web应用程序(.NET Framework)】 数据库:SQLServer数据库2012及以上版本·如果下载最新版本,使用免费版本即可。
本地数据库链接:【.】或【127.0.0.1】 登陆方式1:【本地登陆】 登陆方式2:账号【sa】 pwd【admin】 测试数据库名称:【mytest】 排序规则:【Chinese_PRC_CI_AS】
Lambda表达式是一个匿名方法,可以结合Linq来完成相关的查询工作。
C#的Lambda表达式都使用Lambda运算符“=>”,该运算符读为“goes to”。
这里我用的匿名对象处理的。
var list = new List<string>{"小龙女","王语嫣","赵灵儿","龙姑娘"};
我们通过Lambda表达式来筛选数据。
var list = new List<string>{"小龙女","王语嫣","赵灵儿","龙姑娘"};
list = list.Where(o => o.Contains("龙")).ToList();
foreach (var item in list)
{
Console.WriteLine(item);
}
输出效果:
我们过滤了包含【龙】字的数据。
var list = new List<string>{"小龙女","王语嫣","赵灵儿","龙姑娘"};
string one = list.Where(o => o.Equals("赵灵儿")).SingleOrDefault();
Console.WriteLine(one);
查询效果