随笔 - 64, 文章 - 0, 评论 - 372, 引用 - 15
数据加载中……

下一代ADO.NET介绍

ADO.NET Entity Framework的目标

从纷繁芜杂的关系数据模型中抽象出概念模型。这样开发人员可以只需着眼概念模型,而不必要去关心纷繁芜杂的关系数据模型,从而提高开发效率。

那么如何能够做到这一点?
答案就是:Language-Integrated Query 和 ADO.NET Entity Framework,也就是下一代的ADO.NET.


ADO.NET Entity Framework包括

1. 实体数据模型(Entity Data Model),开发人员通过EDM抽象出非常合适的模型。
2. 非常强大的client-view/mappping引擎,用于映射数据关系
3. Entity SQL语言和LINQ查询对EDM schemas的全面支持
4. object services layer供您选择以何种方式去处理查询结果。比如(行,列或作为对象)。
5. 提供一个开放的模型使ADO.NET Entity Framework可以处理其他的数据存储。


ADO.NET Entity Framework的架构

ADO.NET Entity Framework分Storage Provider ,Mapping LayerObject ServicesLINQ to Entities 四层。



Storage Provider:
它负责直接和数据源通讯,支持的数据库比如Sql Server, Oracle等等.

Mapping Layer:
数据库概念层和逻辑层的映射。通过EDM模型和mapping provider,应用程序将构建在更高层次的EDM模型抽象层次上。同时,在应用程序中将不再使用本地数据库的查询语言比如(T-sql),取而代之的将是Entity SQL。

Object Services:
Object Services 的目标是消除数据和应用程序代码风格的不匹配。ADO.NET允许你将查询结果呈现为行和列记录,同时也可以呈现为.NET对象。该层还包括了更多被O/R mapping框架支持的高级的服务,比如身份认证,跟踪对象状态变化,并行性检查以及处理更新。

LINQ to Entities:
将Entity Framework与LINQ项目集成,以提供面向对象编程语言适合自己特点的查询功能。LINQ to Entities这一层依赖于object services和mapping layer这两层。



更详细的信息可以参阅:

参考文档
http://blogs.msdn.com/adonet/archive/category/14053.aspx
http://wagnerblog.com/index.php?p=636
http://msdn.microsoft.com/data/default.aspx?pull=/library/en-us/dnvs05/html/ADONETEnFrmOvw.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/ADONET_EDM.asp

ADO.NET Entity Framework的架构层次
http://weblogs.asp.net/pgielens/archive/2006/08/20/ADO.NET-Entity-Framework-Layering.aspx

视频资料
http://datajunkies.net/screencasts/ado.net_vnext_ctp_screencast1/ado.net_vnext_ctp_screencast1.html
http://channel9.msdn.com/showpost.aspx?postid=217633

8月份的ADO.NET Entity Framework下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyId=B68F6F53-EC87-4122-B1C8-EE24A043BF72&displaylang=en

5月份的LINQ CTP下载地址:
http://www.microsoft.com/downloads/details.aspx?familyid=1e902c21-340c-4d13-9f04-70eb5e3dceea&displaylang=en

posted on 2007-12-25 13:44 Ring 阅读(9505) 评论(15)  编辑 收藏 所属分类: B .Net 开发

评论

#1楼    回复  引用  查看    

喜欢这样的消息
2006-08-17 16:46 | aspnetx      

#2楼 [楼主]   回复  引用  查看    

我昨天按照http://datajunkies.net/screencasts/ado.net_vnext_ctp_screencast1/ado.net_vnext_ctp_screencast1.html 提供的例子去做了个demo。 但是结果失败了。 可能是我自己系统造成的原因,新安装上的CTP里的Entity没起作用。
2006-08-17 17:05 | Ring      

#3楼    回复  引用    

早就想把dataset丢掉.
2006-08-17 17:37 | neuhawk1 [未注册用户]

#4楼    回复  引用  查看    

感觉是官方的ORM....
2006-08-17 17:42 | 冬冬      

#5楼 [楼主]   回复  引用  查看    

@冬冬
可以说是Microsoft 的ORM,他的抽象出的"实体层"更好,并且还结合了Entity SQL和LINQ的特性。

2006-08-17 17:55 | Ring      

#6楼    回复  引用  查看    

看了下相关视频感不错,希望不只是为MSSQL而设的。
2006-08-17 17:57 | henry      

#7楼    回复  引用    

borland 现在就有 ECO Space了,它是以前的Bold for Delphi在.Net平台上的移植,与数据库平台无关,用这个再也不要写sql语句了。它是一个Business Model模型,值得一看 http://blogs.borland.com/team/eco
2006-08-18 10:23 | johnsonleee [未注册用户]

#8楼 [楼主]   回复  引用  查看    

@johnsonleee
Thanks!
2006-08-18 10:33 | Ring      

#9楼    回复  引用    

这几天正在研究~~
希望对以后的项目有用处~
不知道什么时候Release~
貌似有消息说是.NET 3.5~~

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
我的Blog,创业、思考与探讨下一代计算技术:
http://computebank.spaces.live.com/
http://www.zhangcheng.name

#10楼    回复  引用    

为什么我下载了LINQ Preview 没办法安装?一运行安装程序就提示没有找到Visual Studio 2005的组件,问我要不要下载Visual Studio 2005 Express.
我本机上其实已经装了Vs2005中文版了啊.
装不了LINQ,怎么装ADO.Net VNext啊?
各位是怎么装的啊?
2006-08-18 23:13 | Rices [未注册用户]

#11楼 [楼主]   回复  引用  查看    

@Rices
可能你的vs 2005有问题, 一般下了linq ctp直接就能装上了.
2006-08-19 08:37 | Ring      

#12楼    回复  引用    

你们安装LINQ时都是用的什么版本的VisualStudiio 2005?英文的,中文的,Express,RTM???TS版?标准版?
我今天早晨在同事新安装的VS2005中文版180天试用版上安装也是一样的提示,要求下载Express版.
2006-08-19 14:49 | Rices [未注册用户]

#13楼    回复  引用    

我也安不上,看了网上说明,说这个版本目前只支持英文的VS。
你安装上了吗?
2006-10-30 14:35 | linxian [未注册用户]

#14楼    回复  引用    

@linxian
使用正版的软件,是可以装上的。
2006-10-30 16:12 | www[匿名] [未注册用户]

#15楼    回复  引用  查看    

怎么修改2006的随笔进行发布?
2007-12-25 13:49 | dudu      

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-12-25 15:50 编辑过


相关链接: