添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

使用语言集成查询 (LINQ) 可以轻松访问数据库信息和执行查询。

以下示例演示如何创建一个对 SQL Server 数据库执行查询的新应用程序。 该示例使用 Aggregate 和 Group By 子句确定结果的最小值和最大值。 有关详细信息,请参阅 Aggregate 子句 和 Group By 子句 。

本主题中的示例使用 Northwind 示例数据库。 如果你的开发计算机上没有此数据库,可以从 Microsoft 下载中心进行下载。 有关说明,请参阅 下载示例数据库 。

以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅 个性化设置 IDE 。

创建与数据库的连接

  • 在 Visual Studio 的“视图”菜单中,单击“服务器资源管理器”/“数据库资源管理器”,打开“服务器资源管理器”/“数据库资源管理器”。

  • 在“服务器资源管理器”/“数据库资源管理器”中右键单击“数据连接”,然后单击“添加连接”。

  • 指定与 Northwind 示例数据库的有效连接。

    添加包含 LINQ to SQL 文件的项目

  • 在 Visual Studio 中的“文件”菜单上,指向“新建”,然后单击“项目”。 选择 Visual Basic“Windows 窗体应用程序”作为项目类型。

  • 在 “项目” 菜单上,单击 “添加新项” 。 选择“LINQ to SQL 类”项模板。

  • 命名文件 northwind.dbml 。 单击“添加”。 将打开 northwind.dbml 文件的对象关系设计器(O/R 设计器)。

    将要查询的表添加到 O/R 设计器

  • 在“服务器资源管理器”/“数据库资源管理器”中,展开与 Northwind 数据库的连接。 展开 “表” 文件夹。

    如果关闭了 O/R 设计器,可通过双击先前添加的 northwind.dbml 文件来重新打开它。

  • 单击“Customers”表并将其拖放到设计器的左侧窗格中。 单击“Orders”表并将其拖放到设计器的左侧窗格中。

    设计器将为项目创建新的 Customer 和 Order 对象。 请注意,设计器会自动检测表之间的关系,并为相关对象创建子属性。 例如,IntelliSense 将显示 Customer 对象具有与该客户相关的所有订单的 Orders 属性。

  • 保存更改并关闭设计器。

  • 保存你的项目。

    添加代码以查询数据库并显示结果

  • 从“工具箱”中,将 DataGridView 控件拖放到项目的默认 Windows 窗体 (Form1) 中。

  • 双击“Form1”,将代码添加到该窗体的 Load 事件。

  • 将表添加到 O/R 设计器后,设计器将为项目添加一个 DataContext 对象。 此对象包含访问这些表以及每个表的各个对象和集合所需的代码。 项目的 DataContext 对象是根据 .dbml 文件的名称命名的。 对于此项目, DataContext 对象命名为 northwindDataContext 。

    可以在代码中创建 DataContext 的实例,并查询 O/R 设计器指定的表。

    将以下代码添加到 Load 事件中。 此代码查询作为数据上下文的属性公开的表,并确定结果的最小值和最大值。 该示例使用 Aggregate 子句查询单个结果,并使用 Group By 子句显示已分组结果的平均值。

    Dim db As New northwindDataContext
    Dim minimumOrders = Aggregate cust In db.Customers
                        Where cust.City = "London"
                        Into Min(cust.Orders.Count)
    MsgBox("Minimum Orders from a London Customer: " & minimumOrders)
    Dim maximumOrdersByCountry = From cust In db.Customers
                                 Group By cust.Country
                                   Into MaxOrders = Max(cust.Orders.Count)
    DataGridView1.DataSource = maximumOrdersByCountry
    
  • 按 F5 运行项目并查看结果。

  • LINQ to SQL
  • DataContext 方法(O/R 设计器)
  • 即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback。

    提交和查看相关反馈

  •