数据库中LINQ执行存储过程的调用
创始人
2024-06-06 20:31:44
0

怎样调用 SQL Server 数据库中LINQ执行存储过程。本文为大家介绍如何调用数据库中的两个不同的LINQ执行存储过程。每个LINQ执行存储过程都返回查询结果。一个过程采用输入参数,另一个过程不采用参数。

本主题中的示例使用 Northwind 示例数据库。如果没有在开发计算机中安装 Northwind 示例数据库,可以从 Microsoft Download Center(Microsoft 下载中心)网站下载该数据库。有关说明,请参见 下载示例数据库 (LINQ to SQL)。

说明:
 
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您使用的 Visual Studio 版本及设置。有关更多信息,请参见 Visual Studio 设置。

创建与数据库的连接

1.在 Visual Studio 中,通过在“视图”菜单上单击“服务器资源管理器”/“数据库资源管理器”,打开“服务器资源管理器”/“数据库资源管理器”。

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

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

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

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

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

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

将存储过程添加到 O/R 设计器上

1.在“服务器资源管理器”/“数据库资源管理器”中,展开与 Northwind 数据库的连接。展开“存储过程”文件夹。如果已经关闭 O/R 设计器,可以通过双击先前添加的 northwind.dbml 文件重新将其打开。

2.单击“Sales by Year”存储过程并将它拖到设计器的右窗格中。单击“Ten Most Expensive Products”存储过程并将它拖到设计器的右窗格中。

3.保存所做的更改并关闭设计器。

4.保存您的项目。

添加用于显示存储过程结果的代码

1.从“工具箱”中,将 DataGridView 控件拖到项目的默认 Windows 窗体 Form1 上。

2.双击 Form1,向其 Load 事件添加代码。

3.将存储过程添加到 O/R 设计器后,设计器会为项目添加一个 DataContext 对象。此对象包含访问这些过程所必需的代码。项目的 DataContext 对象是根据 .dbml 文件的名称命名的。对于此项目, DataContext 对象被命名为 northwindDataContext。

可以在代码中创建 DataContext 的实例并调用 O/R 设计器指定的存储过程方法。若要绑定到 DataGridView 对象,必须强制查询通过对存储过程的结果调用 ToList<(Of <(TSource>)>) 方法立即执行。

将下面的代码添加到 Load 事件,以调用任一公开为数据上下文的方法的存储过程。

  1. Visual Basic 复制代码   
  2. Dim db As New northwindDataContext  
  3.  
  4. ' Display the results of the Sales_by_Year stored procedure.  
  5. DataGridView1.DataSource = _  
  6.   db.Sales_by_Year(#1/1/1996#, #1/1/2007#).ToList()  
  7.  
  8. ...  
  9.  
  10. ' Display the results of the Ten_Most_Expensive_Products  
  11. ' stored procedure.  
  12.  
  13. DataGridView1.DataSource = _  
  14.  db.Ten_Most_Expensive_Products.ToList() 

4.按 F5 运行项目并查看结果。

 

本文来自:Visual Basic 开发中心     作者:佚名

 

【编辑推荐】

  1. LINQ技术学习经验
  2. LINQ和ADO.NET技术概述
  3. 手把手教你用好LINQ to SQL(1)
  4. LINQ开发系列(1):初识LINQ(1)
  5. LINQ的分组聚合技术

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...