




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新的ASP.NET动态数据支持【原文地址】New ASP.NET Dynamic Data Support【原文发表日期】 Friday, December 14, 2007 12:41 AM上个周末发布的ASP.NET 3.5 Extensions CTP预览版包括了一堆很棒的新特性。其中一个新特性是我们称之为“ASP.NET Dynamic Data Support(动态数据支持)”的东西。简单地说,这个东西允许你极其快速地建造可以使用LINQ to SQL(在将来LINQ to Entities)对象模型的数据驱动的网站,还允许你不用手工建造任何网页。看它在实战中的例子的最佳方式是观看David Ebbo的精彩的17分钟屏播:你也可以按下面的步骤来轻松上手,开始使用动态数据支持:第一步: 创建ASP.NET动态数据网站在安装ASP.NET 3.5 Extensions CTP预览版之后,你可以使用VS 2008或免费的Visual Web Developer 2008 Express版来创建启用ASP.NET动态数据支持的新网站项目或新Web应用项目:这会创建一个可用的新网站,其中包括了一些默认的模板文件,以及你可以用来定制模板文件观感(look and feel)的CSS样式表:第二步: 添加LINQ to SQL数据模型LINQ to SQL是.NET 3.5中内置的O/RM(对象关系映射器),它允许你使用.NET类来对关系数据库建模。然后你可以使用LINQ来对数据库进行查询,以及在其中更新、插入和删除数据。 LINQ to SQL完全支持事务,视图和存储过程。它还提供了简易方式来将数据验证和业务逻辑规则集成进你的数据模型。开始使用ASP.NET动态数据网站的最简便的方式是向你的项目中添加一个新的LINQ to SQL数据模型(右击-添加新项-LINQ to SQL类)。这会调出LINQ to SQL类设计器。从你的服务器管理器中把数据库数据表拖拉到设计器表面,为你的数据库数据定义(schema)来建立一些类(包括其间的关系):第三步: 在项目中启用动态模板在默认情形下,ASP.NET动态数据项目提供了内置支持,为你的LINQ to SQL和LINQ to Entities数据模型创建自动的“scaffolding(脚手架)”视图。动态数据项目包括了一些模板页和用户控件,可以自动地创建内置的浏览、编辑、选择和删除数据的用户界面,这些界面是根据你加到项目里的LINQ to SQL或者LINQ to Entities数据模型,在运行时动态构建的。为启用这个自动scaffolding的支持,打开你项目的web.config文件,找一下其中的dynamicData节,把它的enableTemplates属性设为true:注: 这个自动scaffolding特性在默认情形下为安全的原因是关掉的(我们要你明确地设置来启用这个特性)。注: 就象你在上面看到的那样,ASP.NET动态数据配置节还提供了可选的URL映射支持,该支持允许你将你的动态scaffold网页定制成你想要的任何URL格式。第四步: 运行你的网站按F5运行你的项目,默认情形下,你会被转到default.aspx网页,上面列出了你数据模型中的所有数据表对象:注: default.aspx主页是项目中的一个文件,如果你不喜欢这个网页的样子,你可以打开它,编辑成你想要的样子。点击上面列表中的任何数据表名称,会把你转到一个动态数据网页,其上列出了对应数据表中的数据:默认的数据视图网页自动创建了有效的数据导航界面,这些界面包括了内置的数据分页和编辑支持(其中启用了ASP.NET AJAX):数据视图网页自动推断出关联对象间的关系,提供了自动的过滤支持:数据视图网页还自动地显示你的对象间的关系,允许用户轻松地在其间导航。例如,注意,产品的Category字段允许我转到特定产品的分类细节网页上去:数据视图网页还提供了自动选择,编辑和删除支持。注意下面,在行内编辑模式下,他们会自动推断出友好的外键名称(允许你编辑“Category”,从下拉框中挑一个名称,而不是指定一个“CategoryID”整数):所有这些都是自动工作的,而不用创建任何自定义的.aspx 网页或者编写任何自定义代码。所有的web用户界面都是根据你的LINQ to SQL或LINQ to Entities数据模型动态生成的。第五步: 进一步定制网站对你的ORM数据模型现成提供上面所有的功能,对让你的网站很快开始运作大有好处。在实现基本的网站体验之后,你可以进行完全的定制,无论是数据验证/业务逻辑层次还是用户界面层次。你可以添加标准的LINQ to SQL数据模型和业务验证规则到你的数据模型中,以执行约束条件。动态数据网页会自动执行这逻辑,提供基于这逻辑的适当的错误信息和验证用户界面。你也可以定制任何数据网页中的用户界面,动态数据项目允许你定制网站上所有数据网页的默认观感,以及定制用在网站上的所有字段类型的默认观感。你可以通过对创建新的动态数据项目时加到“/App_Shared”文件夹中的默认模板文件做编辑来实现这2种定制:只要编辑上面的任何文件就可定制默认的数据网页视图或默认的数据字段的外观。然后,你还可以通过在项目中明确地添加一个映射到某个特定数据视图网页的.aspx网页,来覆盖对应的用户界面。例如,我可以往项目中加一个 ProductsListDetails.aspx 来覆盖默认产品的 ListDetails 行为:然后,你可以往网页上添加任何标准的ASP.NET数据控件。你还可以在网页上使用ASP.NET 3.5 Extensions CTP预览版中发布的有动态数据意识的ASP.NET数据控件。这些控件允许你完全定制用户界面的观感,同时还使用新的动态元数据提供器(dynamic meta-data provider)来推断你的数据模型类间的关系和的元数据,以提供默认行为。有关详情上面的示范只涉及了你可以通过ASP.NET动态数据项目来实现的几个场景和功能。要了解详情的话:1 观看David的网播2 看一下ASP.NET动态数据的快速上手文档3 订阅David Ebbo, Scott Hunter, 和Marcin Dobosz的博客4 访问ASP.NET动态数据论坛问问题想了解有关LINQ to SQL,以及如何创建数据模型类的详情,参阅我以前写的下列博客帖子(【译注】博客园的韩现龙已经完成了其中的8篇,不久会在这里贴出来): 第一部分:LINQ to SQL简介(韩现龙译) Part 2: Defining our Data Model Classes Part 3: Querying our Database Part 4: Updating our Database Part 5: Binding UI using the ASP:LinqDataSource Control Part 6: Retrieving Data Using Stored Procedures Part 7: Updating our Database using Stored Procedures Part 8: Executing Custom SQL Expressions Part 9: Using a Custom LINQ Expression with the control你还可以观看网站上此处的精彩LINQ和 LINQ to SQL “How do I?(该如何做)” 录像。动态LINQ (第一部分:使用LINQ动态查询库)【原文地址】Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library)【原文发表日期】 Monday, January 07, 2008 11:02 PMLINQ (语言级集成查询)是VS 2008 和 .NET 3.5中提供的一个新特性。LINQ使得数据查询的概念成为.NET中的一等编程概念,允许你在你喜欢的编程语言中有效地表达查询。LINQ的一个好处是,它允许你使用 VB 和 C#. 编写类安全的查询。这意味着,对你的代码,你会得到对LINQ查询的编译时检查,以及完整的intellisense和重构支持:类安全的查询可用于大多数的场景,但也有些情形,你需要能在运行时动态构建查询的灵活性。例如,你也许要在应用中提供商业智能的界面,允许业务分析员用户使用下拉框在数据之上构造和表达他们自己的自定义查询/视图。按惯例,这类动态查询场景经常是通过把字符串连接起来构建成动态SQL查询的方式来处理的。最近有几个人通过电邮问我该如何使用LINQ来处理这类场景。下面的贴子内容将描述如何使用LINQ开发团队提供的“动态查询库(Dynamic Query Library)”来动态地构建LINQ查询。下载LINQ动态查询库VS 2008样例下载网页上包括了指向一个VB和C#样例包的链接,该样例包内含一个很酷的动态查询LINQ辅助库。该动态查询库(以及相关文档)的直接链接如下: VB Dynamic Query Library (included in the Language SamplesLINQ SamplesDynamicQuery directory) C# Dynamic Query Library (included in the LinqSamplesDynamicQuery directory)VB和C#的DynamicQuery例程都包括了一个辅助库的源码实现,该辅助库允许你使用接受字符串参数(而不是类安全的语言运算符)的扩展方法来表示LINQ查询。你可以把C#或VB的DynamicQuery库的实现拷贝到你自己的项目中,然后在适当的地方根据用户的输入用它来动态地构建LINQ查询。动态查询库的简单示例你可以将DynamicQuery库用于任何LINQ数据provider,这些provider包括LINQ to SQL, LINQ to Objects, LINQ to XML, LINQ to Entities, LINQ to SharePoint, LINQ to TerraServer等等。动态查询库不是使用语言级的运算符或类安全的 lambda 扩展方法来构建LINQ查询,而是提供给你基于字符串的扩展方法,你可以用这些方法来传递任何字符串表达式。例如,下面是用VB编写的一个标准的类安全LINQ to SQL查询,从 Northwind 数据库中获取数据,然后在一个ASP.NET GridView 控件中做显示:使用LINQ DynamicQuery库,我可以将上面的查询表达式重写成: 注意,其中的条件式 where 子句和排序的 orderby 子句现在接受字符串表达式,而不是代码表达式。因为它们是后期绑定字符串,我可以动态地构建它们。例如,我可以提供界面给业务分析员用户,允许他们自己构建查询(包括任意的条件子句)。动态查询库文档在上面的 VB 和 C# 动态查询例程中还有一些HTML文档,详细描述了如何使用动态查询库中的扩展方法。如果你想要更深入地使用这个辅助库的话,这些文档绝对是值得一读的: 下载和运行动态查询库的样例你可以下载和运行我编写的 VB 和C# 基本例程,在其中我示范了在一个ASP.NET 网站项目中使用动态的LINQ库对Northwind数据库进行LINQ to SQL查询: Basic Dynamic LINQ VB Sample Basic Dynamic LINQ C# Sa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光大银行重庆市渝中区2025秋招群面模拟题及高分话术
- 日本名胜古迹介绍课件
- 民生银行桂林市七星区2025秋招结构化面试经典题及参考答案
- 中信银行大理白族自治州大理市2025秋招结构化面试15问及话术
- 浦发银行乌鲁木齐市新市区2025秋招英文面试题库及高分回答
- 农发行抚顺市清原满族自治县2025秋招面试典型题目及参考答案
- 广发银行宜昌市伍家岗区2025秋招面试典型题目及参考答案
- 平安银行天津市武清区2025秋招面试典型题目及参考答案
- 广发银行梅州市蕉岭县2025秋招结构化面试经典题及参考答案
- 中信银行泉州市晋江市2025秋招英文面试题库及高分回答
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 酒店住宿水单模板-可修改
- SF-三福的历史与文化 v2.0
- 幼儿园故事《小红帽》PPT模板
- GB/T 6723-2017通用冷弯开口型钢
- GB/T 4456-2008包装用聚乙烯吹塑薄膜
- 葫芦丝(初学教学)-课件
- 李家小学教师绩效考核实施方案
- 小粒咖啡栽培技术措施课件
- 曲顶柱体的体积市公开课金奖市赛课一等奖课件
- 全国人防信息系统综合集成建设技术指南
评论
0/150
提交评论