Entity Framework 5.0
今天 VS2012 .net Framework 4.5 Entity Framework 5.0 三者共同发布了。 ( EF5 Released )
在介绍新特性之前,先与大家回顾一下EF版本变化及一些重要变更:
框架 EF 备注
.net Framework 3.5 EF 1.0
.net Framework 4.0 EF 4.0 EF4.0是集成在 net framework中的,而4.1~4.4仅仅是在其上的引入,并非框架的本身
.net Framework 4.0 EF 4.1 引入了DbContext以及POCO模型,应该算是很大改进
.net Framework 4.0 EF 4.2 修复了4.1的几个bug
.net Framework 4.0 EF 4.3 引入了Code First Migration.有了这个我们就不用通过丢弃数据库修改表结构了。
.net Framework 4.0 EF 4.4 修复了4.3的几个bug,这个也是刚不久发布,很少人用,但是支持.net framework 4.0
.net Framework 4.5 EF 5.0 最新版本 包括四个新特性,之后会主要介绍。
EF 6.0 未来版本,未发布 据官方博客称,将会脱离.net Framework单独存在
首先EF5.0的四个新特性的使用必须在.net framework 4.5下 ,相当的坑爹,就这样不支持.net framework 4.0了,对于那些无法将服务器升级到.net framework 4.5(仅支持windows server 2008及以上)的产品项目微软并不在乎,无限坑爹啊!!!!
EF5.0带来了总共四个新特性:
1.Enum 类型的支持。
5.0带来的最优秀特性,Enum支持数据库对应类型有 byte int16 int32 int64 SByte 5中数据库类型。
这样以后我们在开发的时候就无需再为了处理枚举做一些多余的封装了,真是大大减轻了开发者的代码量啊,很实质。
同时支持Code First 以及通过 EF设计器来设计
2.Spatial 类型的支持。 这个类型一般在地理定位的时候用到的类型,例如数据库中存储 经度 或是 纬度的坐标即可以通过此类型进行存储。现在做地理位置开发的码农有福了。
同时支持Code First 以及通过 EF设计器来设计
3.Table-Valued Functions 函数的支持。
仅支持 DataBase First ,也就是仅仅只能通过设计器来实现支持。
例如:
var students = from s in context.GetStudentGradesForCourse(CourseID)
where s.Grade >= Grade
select new
{
s.Person,
s.Course.Title
};
红色的部分就是我们在数据中写的创建的函数。 这个个人不经常使用,主要是因为用函数写一些逻辑会带来维护上的一些麻烦,成本很大。
4.编辑器各功能的加强。
可以在Context之间进行实体的拖拽,以及一些实体设计器颜色变化的控制等等。 快速开发的利器。主要因为我很少用设计器开发,所以也很少关注,大部分时间全花在CodeFrist上了,设计器这种简单操作反而不会了,无所谓了,反正不喜欢设计器。
5.其实第五个可以不认为是新特性,应该算是性能的提升,EF5较之前版本在性能上有很大的提升,主要原因是由于对Linq ot Entity 缓存的处理。第一次通过Linq to Entity 查询性能与之前版本几乎一样,但第二次及以后在进行同样查询就大大不一样了,由于缓存了之前的查询,大大减少了数据的查询时间。
再就是在EF5中,默认创建的Context是DbContext了,以前默认ObjectContext需要手动改。
从这点可以看出微软是十分推崇DbContext的,因为他的确为我们带来了许多方便,但是我们仍可以切换到ObjectContext,毕竟
OjbectContext还是有许多底层东西的,DbContext仅仅是在他之上进行了一些封装。
Entity Framework 5.0的更多相关文章
- 开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、简单吞吐量压力测试
继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-ho ...
- [EF2]Sneak Preview: Persistence Ignorance and POCO in Entity Framework 4.0
http://blogs.msdn.com/b/adonet/archive/2009/05/11/sneak-preview-persistence-ignorance-and-poco-in-en ...
- Entity Framework 5.0系列之Code First数据库迁移
我们知道无论是"Database First"还是"Model First"当模型发生改变了都可以通过Visual Studio设计视图进行更新,那么对于Cod ...
- 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性
[索引页][源码下载] 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性 作者:weba ...
- 在Entity Framework 4.0中使用 Repository 和 Unit of Work 模式
[原文地址]Using Repository and Unit of Work patterns with Entity Framework 4.0 [原文发表日期] 16 June 09 04:08 ...
- 云优化的概念、Entity Framework 7.0、简单吞吐量压力测试
云优化的概念.Entity Framework 7.0.简单吞吐量压力测试 继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之 ...
- 浅析Entity Framework Core2.0的日志记录与动态查询条件
前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core2.0的日志记录与动态查询条件 去 ...
- Entity Framework 6.0 对枚举的支持/实体添加后会有主键反回
实验 直接上代码,看结果 实体类 [Flags] public enum FlagsEnum { Day = , Night = } public class EntityWithEnum { pub ...
- Entity Framework 6.0 Tutorials(1):Introduction
以下系统文章为EF6.0知识的介绍,本章是第一篇 原文地址:http://www.entityframeworktutorial.net/entityframework6/introduction.a ...
随机推荐
- JsRender系列demo(5) for else
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- hdu 4578 Transformation 线段树
没什么说的裸线段树,注意细节就好了!!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> ...
- 内存对齐-C语言struct内存占用问题
转1个写的比较全面的. http://hubingforever.blog.163.com/blog/static/17104057920122256134681/ 本文编辑整理自:http://hi ...
- Web中的监听器【Listener】
Servlet监听器:Servlet规范中定义的一种特殊类,它用于监听Web应用程序中的ServletContext.HttpSession和ServletRequest等域对象的创建与销毁事件,以及 ...
- lintcode:递归打印数字
题目 用递归打印数字 用递归的方法找到从1到最大的N位整数. 样例 给出 N = 1, 返回[1,2,3,4,5,6,7,8,9]. 给出 N = 2, 返回[1,2,3,4,5,6,7,8,9,10 ...
- [mock]8月8日
第一题是整数的方阵,求其中的子方阵,和最大.返回最大和以及子方阵宽度.因为做了topcoder的题,所以比较顺手,O(n^3)的复杂度. pair<int,int> maxiSum(vec ...
- 2014-9-17二班----9 web project
http://localhost:8080/rwkj1/indexServlet 跳转 http://localhost:8080/rwk ...
- 360云盘、百度云、微云……为什么不出 OS X(Mac 端)应用呢?(用户少,开发成本高)(百度网盘Mac版2016.10.18横空出世)
已经说的很好了,现有的云盘所谓的 OS X 版只有云同步功能,不过 115 是个例外,不过 115 的现状……不言自明.接下来说点和本题答案无关的,其实在官方客户端流氓 + 限速的大背景下 OS X ...
- "hadoop namenode -format"命令的作用和影响的文件
在hadoop部署好了之后是不能马上应用的,而是对配置的文件系统进行格式化.这里的文件系统,在物理上还未存在,或者用网络磁盘来描述更加合适:还有格式化,并不是传统意义上的磁盘清理,而是一些清除与准备工 ...
- IOS键盘收起
1.点击Return按扭时收起键盘 - (BOOL)textFieldShouldReturn:(UITextField *)textField { return [textField resignF ...