65.9K
CodeProject 正在变化。 阅读更多。
Home

使用LINQDataSource和ASP.NET数据控件

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.69/5 (8投票s)

2008年6月8日

CPOL

4分钟阅读

viewsIcon

75051

将 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应用程序项目。

image001.gif

如果服务器资源管理器不可见,请从“视图”菜单启用它。在服务器资源管理器中,右键单击“数据连接”,然后单击“添加连接”。按照向导添加数据库连接。完成数据库设置后,您的服务器资源管理器将显示数据库对象。此视图就像SQL Server中的对象浏览器。

image002.gif

我们将在本项目中使用客户表。但在开始使用数据库之前,我们需要LINQ to SQL类。在解决方案资源管理器中右键单击您的项目,然后从“添加新项”选择中,选择LINQ to SQL类文件,如下所示

image003.gif

将LINQ to SQL文件添加到项目后,您可以开始使用数据库。请注意,Customer.dbml文件已添加到我们的项目中,如下所示

image004.gif

打开customer.dbml文件,并将客户表从服务器资源管理器拖放到Customer.dbml文件的表面上,如下所示

image005.gif

就是这样!我们完成了数据库连接的设置——现在我们可以使用项目中的客户表了。让我们在VSS中浏览客户表

image006.jpg

保存项目并尝试构建它。它应该能够在没有错误或警告的情况下构建。完成项目构建后,将GridView和LinqDataSource添加到default.aspx页面,如下所示

image007.gif

配置数据源,如下所示。请不要更改数据源配置页面上的任何内容。默认值就可以了,并且可以完美运行——只需点击“下一步”按钮,然后从下拉列表中选择客户表,如下所示

image008.gif

image009.gif

image010.gif

单击“完成”按钮以完成此任务。完成步骤1后,我们将回到“位置”选项。

现在将此数据源设置为我们GridView的源。构建并运行项目。

image011.gif

就是这样——我们完成了从数据库中获取数据并使用LINQ将其显示在网页上的工作。

image012.gif

请打开SQL Server查询分析器并观察LINQ生成的TSQL。它与您为完成此任务而编写的TSQL差别不大。在第二部分中,我们将根据下拉列表选择过滤结果集。我们将使用customer_type列进行此过滤操作。例如,仅显示公司客户。我们还将在GridView上启用分页并分析底层的TSQL。

本文的第三部分在此处提供

祝您好运,编程愉快!

注意:请为本系列投票并提供您的反馈,以便将来能有所改进/符合您的期望。谢谢!
© . All rights reserved.