Entity Framework全面扫盲

目录

基础知识

     LINQ技术

Entity Framwork 介绍


基础知识

LINQ技术

LINQ的基础-C#3.0

   自动属性

   隐式类型

   对象集合初始化器

   匿名类

   扩展方法

   Lambda表达式

自动属性

其实就是一个语法糖,自动执行getter,setter。常用写法

public string HalloWorld { get; set; }

隐形类型

就是我们常用的var 关键字啦,可以用来声明一个未知类型的对象,可以用var自动识别查询获得的结果类型(object也是可以的)。

对象初始化器和集合初始化器

我们一般获取一个对象一般都是通过对象的构造方法(含默认)来实例化对象,并给这个实例赋值。如果用对象初始化器则能简化代码。

对象初始化器在实例化时可以直接给属性赋值:People p=new People{NAME=“张阳”,Age=“22”,ID="24545"};

集合初始化和对象实例化应用类似:

ArrayList<People> ps=new <People>{

new People{NAME="zhangyang",Age="21",ID="ssss"},

new People{NAME="zhangyang1",Age="21",ID="sssds"}

}

匿名类

匿名类需要关键字var声明,如 var object=new{object initializer}

扩展方法

在.NET2.0时代是没有LINQ的,所以.NET2.0以及之前版本中的集合类在设计的时候没有预留用于LINQ的方法。为了在不破坏这个类现有封装的前提下又可以为其添加LINQ的支持就需要用到扩展方法。

扩展方法为一静态方法,声明于一个静态类,其参数前加上一个this关键字,参数的类型表示这个扩展方法要对这个类型进行扩展。如上述代码表示其要对字符串类型进行扩展。但其实际是个实例方法,需要通过实例调用。记住关键特征就是参数前有this关键字。

lambda表达式

“Lambda 表达式”(lambda expression)是一个匿名函数,可以表示为委托的代码,或者表示为表达式树的代码,它所表示的表达式树可以编译为委托。 Lambda 表达式的特定委托类型取决于其参数和返回值。不返回值的 Lambda 表达式对应于 Action 委托,具体取决于其参数数量。 返回值的 Lambda 表达式对应于 Func 委托,具体取决于其参数数量

Lambda 表达式广泛用于:

  • 将要执行的代码传递给异步方法,例如 Task.Run(Action)。

  • 编写 LINQ 查询表达式。

  • 创建表达式树。

lambda表达式实现委托代码:

delegate int CalculateHandler(int x, int y);
 public void Test()
 {
      CalculateHandler sumHandler = (x, y) => x + y;
      MessageBox.Show(sumHandler(1, 2).ToString());//输入结果3
 }

讲到委托,这里一并介绍一下吧:

委托是C#实现回调函数的一种机制,回调函数应该不用介绍了吧,就是一旦满足条件就调用指定函数。委托需要delegate关键字声明,输入委托参数必须与回调函数一致。当然如果用lambda表达式则可以省去回调函数的编写,即用lambda表达式实现了委托的回调函数。

.NET中的数据库访问

数据库访问方案主要有:DataSet、ADO.NET2.0、ORM

LINQ to SQL

ADO.NET EntityFramwork

Entity Framework的设计很多地方都保留了高扩展性。其最重要的一个改进在于其映射定义的灵活性。

Entity Framwork 介绍

EDM

EDM(Entity Data Model),实体数据模式。EDM模式在项目中的表现形式就是扩展名为.edmx的文件,这个文件本质上是一个XML文件,可以手工编辑此文件来自定义CSDL(概念模型)、MSL(映射)与SSDL(存储模型)这三部分。

CSDL、MSL、SSDL我打算在后面的文章中具体介绍以及EntityFramwork在程序中的具体应用,希望对初学者有帮助。

文章借鉴:https://blog.csdn.net/uffvhj/article/details/83791429

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值