如今的
网络有很多伟大的创新,能够很容易利用LINQ的查询能力,并使之与Web用户界面的丰富新和灵活性相结合.的确很容易.
在开始之前你需要弄明白几个概念:
* LinqDataSource 控件 -- 允许你在基于Web的数据绑定中使用LINQ查询作为数据源.
* LinqDataSource.Selecting 事件 -- 允许你自定义任意LINQ定义查询(包括匿名查询) 为数据源. 只要从VB编辑器的下拉列表中选中LinqDataSource并选择Selecting事件, 然后在事件处理代码中设定e.Result = <你的LINQ查询> 即可.
* OR设计器和Linq 到SQL -- 如果你正用LINQ查询直接连接到SQL数据库 (而不是对象集合, xml, 等等) 上, 这是一种创建查询的简单方法, 我们称它为DataContext 对象. “OR”是对象-关系映射的缩写, 例如, 从关系数据库数据到.NET对象的映射
* ASP.NET 数据绑定表达式 -- 使你能够计算由数据源字段, 或简单控件的属性, 或控件列表而来的ASP形式的<%# Eval("YOURFIELD") %>表达式
用LINQ到SQL创建一个简单的Web窗体
第一篇文章用一个最简单的Web窗体, 来逐一解释这些概念. 然后我将根据你们的回复在以后的文章中添加更多主题并扩展这个示例.
下面是一个最初我们需要的Web窗体输出示例 -- 一个非常简单的人力资源程序的员工列表单 -- 我得承认它缺少修饰, 并需要一些用户界面上的加工:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->EmployeeID: 2 Andrew Fuller Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the Sales Management Roundtable, the Seattle Chamber of Commerce, and the Pacific Rim Importers Association. EmployeeID: 1 Nancy Davolio Education includes a BA in psychology from Colorado State University in 1970. She also completed "The Art of the Cold Call." Nancy is a member of Toastmasters International.
如果你对Visual Studio非常熟悉, 我估计你只要10到15分钟就能在你自己的机器上实现.
准备
- 确保已经安装Visual Studio 2008 或 Visual Web Developer 2008 Express. Express 版本.
- 确保安装了 SQL Server 2005 Express 并已启动. 它通常在安装VS 或VS Express的同时默认被安装. 你也可以从这里下载安装.
- 如果在你的机器上没有Northwind.mdf, 可以从这篇文章的附件中下载.
为网站添加数据
首先我们要把数据库添加到我们的工程中, 并创建必要的类以使用LINQ中的数据库 (用Linq到SQL).注意, 你可以选择跳过此步骤并创建你自己的LINQ查询到其他数据库上.
通过File -> New Web Site ... -> ASP.NET Web Site创建一个新的网站到本地目录
把Northwind数据库添加到网站的App_Data文件夹
1. 从本文附件中下载 Northwind.mdf 文件并保存到本地
硬盘上
2. 把这个文件拖放到解决方案管理器的App_Data文件夹中
通过OR设计器为Northwind创建LINQ到 SQL的类. Linq 到 SQL 类会被保存在一个.dbml 文件中并可以在可视的OR设计器中打开.
1. 在解决方案资源管理器中右键单击网站结点, 选择快捷菜单的Add New Item -> Linq To SQL Classes
2. 把"DataClasses.dbml" 重命名为"NorthwindDataClasses.dbml". (这样做很重要, 以便在代码和VS向导中找到这些类).
3.