Entity Framework 入门
一、预备知识
1、Linq:为了解决在开发中的和数据库语言相互穿插使用,而研究的一项新的技术,能给和其他的编程语句一样来操作数据库。
LINQ是一种运行时无关的技术,其运行于CLR2.0之上。所以他是.net的扩展,可以被CLR2.0的JIT所理解的MSIL。
2、技术基础:
1、自动属性:简化开发,通过属性来生成成员变量。------》在开发中要单独的访问某个具体的类(对象),非集合时,这个是比较好用的。
2、隐式类型:var为关键字,一般情况下的好处在于,不用在编码是过度的关心对数据查询结果的数据类型,可以自动根据赋值的情况来判断元素的类型,类型确定后不可以改变。
3、对象集合初始化器:用法
User user = new User { Id = 1, Name = "YJingLee", Age = 22 };
集合初始化器:
List<int> num = new List<int> { 0, 1, 2, 6, 7, 8, 9 };
4、扩展方法:个人感觉就是个工具类,包含静态的方法,扩展了类的方法。
public static class Extensions { public static bool IsValidEmailAddress(this string s)//这个地方是扩展了string类的功能 { Regex regex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"); return regex.IsMatch(s); } }
5、Lambda表达式:格式为:(参数列表)=>表达式或语句块
二、.net中的数据访问
传统的数据访问方式:
1、DataSet方式
缺点=====》逻辑代码与数据访问代码耦合高
改进后的方案:
这是把业务中对对象的处理封装了起来,提高的数据访问的可维护性,以及低耦合,有点DAO的意思了
2、通过手写ADO.net来链接,这个方式灵活度比较高,也是最基础的一种方式。
3、ORM也是本次学习的重点:
分为:Linq to sql 不能灵活的定义对象模型与数据表之间的映射、无法扩展提供程序只能支持SQL Server等。
ORM—ADO.net Entity Framework:======》主要的优点,提高了灵活性
在应用中的好处是:开发人员不在直接与数据库打交道,而是直接与实体类之间进行业务的处理。与数据库打交道的事情交给了框架。
三、深入了解Entity Framework
实体数据模型,简称EDM,由三个概念组成。
概念模型由概念架构定义语言文件 (.csdl)来定义,映射由映射规范语言文件 (.msl),存储模型(又称逻辑模型)由存储架构定义语言文件 (.ssdl)来定义。这三者合在一起就是EDM模式。EDM模式在项目中的表现形式就是扩展名为.edmx的文件。这个包含EDM的文件可以使用Visual Studio中的EDM设计器来设计。由于这个文件本质是一个xml文件,可以手工编辑此文件来自定义CSDL、MSL与SSDL这三部分。