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 ...
随机推荐
- 深入浅出Java并发包—指令重排序
前面大致提到了JDK中的一些个原子类,也提到原子类是并发的基础,更提到所谓的线程安全,其实这些类或者并发包中的这么一些类,都是为了保证系统在运行时是线程安全的,那到底怎么样才算是线程安全呢? Java ...
- Ubuntu 取消sudo密码
需求:在Ubuntu下装了FQ代理goagent之后,为了goagent能够开机启动.因为goagent需要sudo权限,所以要去掉sudo密码. 要修改的文件位于/etc/sudoers,先备份: ...
- codeforces div.1 A
A. Efim and Strange Grade time limit per test 1 second memory limit per test 256 megabytes input sta ...
- lintcode :Ugly Numbers 丑数
题目 丑数 设计一个算法,找出只含素因子3,5,7 的第 k 大的数. 符合条件的数如:3,5,7,9,15...... 样例 如果k=4, 返回 9 挑战 要求时间复杂度为O(nlogn)或者O(n ...
- A. Counting Kangaroos is Fun(贪心)
#include<stdio.h> #include<algorithm> using namespace std; ]; int main() { int i,n,high; ...
- BSD历史
在UNIX问世之后(关于UNIX来历史这里不详述),UNIX拥有者AT&T公司以低廉甚至免费的许可将Unix源码授权给学术机构做研究或教学之用. 加州大学伯克利分校就是其中之一.在得到源码后, ...
- 使用CXF暴露您的REST服务
使用CXF暴露您的REST服务 REST应用服务器SpringBeanServlet 1. 前言 现在互联网Open API流行,将您的Web应用也可以开放Open API给其他第三方使用.达到一 ...
- struts2中token防止重复提交表单
struts2中token防止重复提交表单 >>>>>>>>>>>>>>>>>>>&g ...
- 【HDOJ】5632 Rikka with Array
1. 题目描述$A[i]$表示二级制表示的$i$的数字之和.求$1 \le i < j \le n$并且$A[i]>A[j]$的$(i,j)$的总对数. 2. 基本思路$n \le 10^ ...
- JVM参数配置
JVM参数配置 设置堆大小 -Xms 初始堆大小 -Xmx 最大堆大小 -Xmn 设置年轻代大小 设置每个线程堆栈大小 -Xss 设置每个线程的堆栈大小 设置年轻代大小 -XX:NewSize= -X ...