ASP.NET教程之迈向Data 2.0――在客户端操纵ADO.NET数据服务仓酷云
也许唯一可以让世人留恋net网页编程的理由就剩下它的王牌——跨平台。在本系列的第一篇文章《迈向Data2.0——进修利用ADO.NET数据服务框架》中,先容了ADO.NET数据服务框架的基础常识;昨日ccBoy在其博客上宣布了一篇文章,先容了在客户端怎样对ADO.NET数据服务举行操纵。本文章以下图所示的干系图来作为实习的数据库(图片援用自ccBoy的博客):
<br>
在这个干系图中,必要出格注重的一点是,Book表上的AuthorID字段消散了:
EntityFramework屏障和封装了Book表中AuthorID属性,从而让客户端或用户看起来也加倍面向对象。接着,ccBoy在这个数据库干系的基本上为人人供应了以下9品种型尺度操纵的示例代码:
[*]新增一个作者和他的一本书。
[*]新增一个作者,但不增添书。
[*]给一个给定的作者,增添一本书的纪录
[*]修正作者的基础信息,并更新,但未修正作者和书的联系关系干系
[*]修正书的基础信息,并更新;但未修正作者和书的联系关系干系
[*]改动一个已联系关系的作者和书的干系,将书联系关系到别的一个作者。
[*]删除给定作者的一本书。
[*]删除一个作者,今朝作者没有创作任何一本书。
[*]删除一个作者,也包含他创作了一切书的纪录。
除以上的9类操纵外,他也给出了一种处置非常的示例代码,值得人人自创。
在一一展现了这些示例代码后,ccBoy对ADO.NET数据服务的操纵举行了一个总结,以下的总结关于了解在客户端对ADO.NET数据服务举行操纵有很年夜的匡助:
四个CRUD操纵(Create、Retrieve、Update和Delete)中的每一个操纵都映照到一个分歧的HTTP动词:Retrieve映照到GET,Create映照到POST,Update映照到PUT,Delete映照到DELETE。客户真个Context对象,你能够把它想像成离线版本的数据源EntityFrameworkContext。
客户端一切的CUD的操纵,只要在挪用SaveChanges(),才会将变更传送到真实的数据源。
SetLink,AddLink,DetachLink是举行实体干系办理的……DetachLink是在你要删除某个实体,你必要将有联系关系的两个实体之间的联系关系打断并告知客户真个Context。而DeleteLink更多的是告知客户端Context,你要将两个实体间的联系关系完整打断,这个办法有效,但我以为它的有用性最低。
AttachTo和Detach则是你用了处置实体形态的次要办法……当你挪用AttachTo感化于一个POCO对象的时分,这个对象酿成了实体……Detach办法你能够将其了解成反操纵,行将一个实体复原成POCO。
偶然候AttachTo操纵是隐形的,好比一切经由过程Context查询办法查询来的对象,实在都是实体,一样你将一个POCO对象赋值给一个实体对象时,仿佛也默许会将这个POCO对象到场到客户端Context中。
AddToXXX(好比:AddToAuthor)是EntityFramework主动天生的浅易办法,实在和挪用AddObject办法同等。最初,ccBoy对ADO.NET数据服务和ADO.NET实体框架举行了一些会商,触及到和NHibernate对照,对编程模子和体系构架的影响,和一些功能方面的切磋等。
来自:http://www.infoq.com/cn/news/2008/08/data2-client-webservices
可怜的程序员,还是逃不出移植的命运! 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。 那么,ASP.Net有哪些改进呢? 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
页:
[1]