快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐场7098app:【企业级应用框架Entity Framework入门】1、ORM



媒介:EF框架被称为是企业级利用框架的最佳选择,下面我就先先容一下在进修EF框架之前的筹备事情吧。

1.常识筹备

(1)自动属性

1) 自动属性(Auto-Implemented Properties)。

2) 自动属性简化了我们在.NET的时刻手写的一堆私有成员+属性的编程要领,我们只必要应用如下要领声明一个属性,编译器会自动天生所必要的成员变量。

3) 代码举例:

public class User

{

public int ID{get;set;}

public string Name{get;set;}

public int Age{get;set;}

}

(2)隐式类型va葡京娱乐场7098appr

1) 这个名称可能对我们不是很陌生,然则var这个关键字应该都用过,在C#中应用var声明一个工具的时刻,编译器会自动根据其赋值语句揣摸出这个局部变量的类型,赋值今后,这个变量的类型也就确定而弗成以再进行变动,别的var关键字也用于匿名类的声明

2) 利用处合:var主要用途是表示一个Linq查询的结果,这个结果可能是ObjectQuery类型的工具,这时刻应用var声明这个工具可以节省很多代码书写上面的光阴。

3) 代码举例:

var sline=”HANYINGLONG”;

var list=new List();

var anon=new{Name=”Kencery”,Age=23};

4) 下列限定应用隐式类型的变量声明:

1)只有在同一个语句中声明或者初始化局部变量时,才能应用葡京娱乐场7098appvar;不能将该变量初始化为null,措施组或者匿名函数。

2)不能将var用于类范围的域

3)由var声明的变量不能用在初始化表达式中,换句话说,此表达式是合法的,int i=(i=20);,但此表达式会孕育发生编译差错:var i=(i=20);

5) 不能在同一个语句中初始化多个隐式类型的变量

6) 假如范围中有一个名为var的类型,则var关键字将解析为该类型名称,而不作为隐式类型局部变量声明的一部分进行处置惩罚。

(3)工具初始化器和几何初始化器

1) 在.NET2.0中构造一个工具的措施是供给一个重载的构造函数,二是默认的构造函数天生一个工具,然后对其属性进行赋值,在.net3.5/C#3.0种我们有一种更好的措施来进行工具的初始化。那便是应用工具初始化器。这个特点也是匿名类的一个根基。

2) 基础用法:

LYSC_User user=new LYSC_User{ID=1,Name=”Kencery”,Age=22};

3) 举例阐明:

List

list=new List

{

new Person{ID=’1’,Name=”Kencery”,Age=32},

new Person{ID=’1’,Name=&rdquo葡京娱乐场7098app;Kencery”,Age=32},

ne葡京娱乐场7098appw Person{ID=’1’,Name=”Kencery”,Age=32}

};

4) 工具初始化器是使用了编译器对工具中的对外可见的字段或者属性进行按序赋值,在编译照样隐式的调用了构造函数,对字段或者属性的赋值可所以一个或者是多个。

(4) 匿名类

1) 有了前面工具初始化器的先容,我们可以应用new{object initializer}或者new[]{object,…}来初始化一个匿名类或者不确定类型的数组,匿名类的工具必要应用var关键字声明:代码如下:

var user=new{ID=1,Name=”Kencery”,Age=”22”};

2) 利用处景,当直接应用select new{object initializer}这样的语法便是将一个Linq查询的结果返回到一个匿名类中

3) 将一组只读属性封装到单个工具中,而无需首先显示定义一个类型,类型名优编译器天生,并且不能在源代码级应用,每个属性的类型由编译器揣摸。

4) 用来初始化属性的表达式不能为null,匿名函数或者指针类型。

(5)Lambda表达式

1) “Lambda表达式”是一个匿名函数,它可以包孕表达式和语句,可用于创建委托。

2) 运算符=>,该运算符读为”goes to”。

3) 款式:(input parameters)=>expression

4) 匿名函数的例子

delegate bool DelDemo(int a,int b);

DelDemo fun=delegate(int a,int a){return a>b;};

Console.WriteLine(fun(1,3));

Deledemo func=(int a,int b)=>a>b;

Console.WriteLine(func(1,2));

5)Lambda表达式的应用案例

List strs = new List() {"1","2","3","5" };

var data = strs.FindAll(strtemp 葡京娱乐场7098app=> int.Parse(strtemp) > 2);

foreach (var item in data)

{

Console.WriteLine(item);

}

2.上面的是筹备常识,下面开始实体框架的简介

(1) 简称EF。

(2)ADO.NET Entity Framework是微软以ADO.NET为根基所成长出来的工具关系对应(O/R Mapping)办理规划,早期被称为ObjectSpace。

(3)实体框架Entity Framework是ADO.NET中的一组支持开拓面向数据的软件利用法度榜样的技巧,是微软的一个ORM框架。

3.什么是O/R Mapping

(1) 广义上,ORM指的是面向工具的工具模型和关系型数据库的数据布局之间的互相转换。

(2) 狭义上,ORM可以被觉得是,基于关系型数据库的数据存储,实现一个虚拟的面向工具的数据造访接口。抱负环境下,基于这样一个面向工具的接口,持久化一个OO工具应该不必要懂得任何关系型数据库存储数据的实现细节。

(4) 在EF中的实体数据模型(EDM)由以下三种模型和具有响应文件扩展名的映射文件进行定义

1) 观点架构定义说话文件(.csdl)定义观点模型

2) 存储架构定义说话文件(.ssdl)定义存储模型(又称为逻辑模型o)

3) 映射规范说话文件(.msl)定义存储模型与观点模型之间的映射 M

(5) 实体框架应用基于XML的模型和映射文件将观点模型中的实体和关系的创建,读取,更新和删除操作转换为数据源中的等效操作,EDM支持将观点模型中的实体映射到数据源中的存储历程。

转自:http://www.cnblogs.com/hanyinglong/archive/2012/11/15/2772065.html

您可能还会对下面的文章感兴趣: