使用LINQDataSource和ASP.NET数据控件
将 LinqDataSource 与 GridView 和 DropDownList 等 ASP.NET 数据控件结合使用
涵盖的主题 | |||
介绍、LINQ to SQL 类文件、LinqDataSource 和 .dbml 文件结构 | DataContext 类、在 C# 3.0 中编写 LINQ 以及参数化 LINQ 查询 | 使用 LinqDataSource 动态更改底层 T-SQL 以及 CRUD 操作的一部分 [更新和删除] | 使用 LinqDataSource.Insert() 进行插入以及通过 web.config 管理数据库连接 |
LinqDataSource 第一部分 | LinqDataSource 第二部分 | LinqDataSource 第三部分 | LinqDataSource 第四部分 |
在ASP.NET数据控件中使用LinqDataSource
在我的一个项目中,我使用了LINQ。由于这是我的第一个LINQ项目,我决定使用LinqDataSource从数据库中获取数据。另一个使用LinqDataSource的原因是它内置支持GridView的分页和排序功能。
完成此任务大约需要15到20分钟。本部分涵盖的重要内容包括LINQ to SQL类文件、LINQ DataSource和.dbml文件结构。本文的第二部分在此处提供。第三部分在此处提供。如果您将LinqDataSource与GridView一起使用并启用分页,LINQ将编写一个不错的分页查询。我记得我在存储过程中编写了自己的分页逻辑,并且对LINQ生成的T-SQL印象深刻。LINQ正在做我在存储过程中所做的事情。[LINQ查询的工作原理超出了本文的范围。但可以在Mike Taulty的博客上找到一个很好的解释]
因此,本文简要介绍了LinqDataSource控件。我们首先创建一个Web应用程序项目。我们的目标是从客户表中获取数据,并使用GridView控件显示它。在第二部分,我们将添加一个下拉框来过滤此GridView。
如果您不熟悉LINQ,请访问ScottGu的博文。注意:您需要Visual Studio 2008才能使用此示例项目。
现在开始使用LinqDataSource…在VS 2008中创建一个新的Web应用程序项目。
如果服务器资源管理器不可见,请从“视图”菜单启用它。在服务器资源管理器中,右键单击“数据连接”,然后单击“添加连接”。按照向导添加数据库连接。完成数据库设置后,您的服务器资源管理器将显示数据库对象。此视图就像SQL Server中的对象浏览器。
我们将在本项目中使用客户表。但在开始使用数据库之前,我们需要LINQ to SQL类。在解决方案资源管理器中右键单击您的项目,然后从“添加新项”选择中,选择LINQ to SQL类文件,如下所示
将LINQ to SQL文件添加到项目后,您可以开始使用数据库。请注意,Customer.dbml文件已添加到我们的项目中,如下所示
打开customer.dbml文件,并将客户表从服务器资源管理器拖放到Customer.dbml文件的表面上,如下所示
就是这样!我们完成了数据库连接的设置——现在我们可以使用项目中的客户表了。让我们在VSS中浏览客户表
保存项目并尝试构建它。它应该能够在没有错误或警告的情况下构建。完成项目构建后,将GridView和LinqDataSource添加到default.aspx页面,如下所示
配置数据源,如下所示。请不要更改数据源配置页面上的任何内容。默认值就可以了,并且可以完美运行——只需点击“下一步”按钮,然后从下拉列表中选择客户表,如下所示
单击“完成”按钮以完成此任务。完成步骤1后,我们将回到“位置”选项。
现在将此数据源设置为我们GridView的源。构建并运行项目。
就是这样——我们完成了从数据库中获取数据并使用LINQ将其显示在网页上的工作。
请打开SQL Server查询分析器并观察LINQ生成的TSQL。它与您为完成此任务而编写的TSQL差别不大。在第二部分中,我们将根据下拉列表选择过滤结果集。我们将使用customer_type列进行此过滤操作。例如,仅显示公司客户。我们还将在GridView上启用分页并分析底层的TSQL。
本文的第三部分在此处提供祝您好运,编程愉快!
注意:请为本系列投票并提供您的反馈,以便将来能有所改进/符合您的期望。谢谢!