简单实现linq存储过程基本操作
创始人
2024-06-07 08:11:02
0

linq存储过程的运用还是比较广泛的,如果想运用好linq语言,那linq存储过程是必不可少的。

本篇,关注的是linq存储过程来完成数据库的四步操作(查询,删除,更新,新增)。

数据库仍然是Northwind,数据源是表Customers

1). 首先创建一个网站,添加Linq to Sql类,名称为Northwind.dbml;

2). 打开Visual Studio的服务器资源管理器,选择数据连接-添加连接,引入Northwind数据库,展开,将Customers表拖到Northwind.dbml,这样就完成了创建Customers对象;

3). 创建查询,删除,更新,新增 Customers 的linq存储过程,代码如下:

linq存储过程之查询Customers

  1. Procedure Name: [dbo].[selCustomers]  
  2. Note               : get Customers  
  3. Created By       : Tom  
  4. Created Date    : 2008-5-28      
  5. CREATE PROCEDURE [dbo].[selCustomers]  
  6. (  
  7. @ncCoustomerID NVARCHAR(5) = NULL,      
  8. @nvcCountry NVARCHAR(15) = NULL      
  9. AS  
  10. IF @ncCoustomerID IS NULL OR @ncCoustomerID = '' 
  11. SET @ncCoustomerID = NULL  
  12. IF @nvcCountry IS NULL OR @nvcCountry = '' 
  13. SET @nvcCountry = NULL  
  14. SELECT *   
  15. FROM CUSTOMERS   
  16. WHERE CUSTOMERID LIKE ISNULL(@ncCoustomerID, '%')   
  17. AND    COUNTRY LIKE ISNULL(@nvcCountry, '%')  
  18. RETURN 

linq存储过程之删除Customers

  1. Procedure Name : [dbo].[delCustomers]  
  2. Note                : delete Customer  
  3. Created By        : Tom  
  4. Created Date     : 2008-5-28      
  5. CREATE PROCEDURE [dbo].[delCustomers]  
  6. (  
  7. @ncCustomerID NCHAR(5)  
  8. )  
  9. AS  
  10. DELETE CUSTOMERS   
  11. WHERE CUSTOMERID = @ncCUSTOMERID  
  12. RETURN  
  13.  

linq存储过程之更新Customer

  1. Procedure Name : [dbo].[updCustomers]  
  2. Note                : modify Customer  
  3. Created By        : Tom  
  4. Created Date     : 2008-5-28      
  5. CREATE PROCEDURE [dbo].[updCustomers]  
  6. (  
  7.  @ncCustomerID NCHAR(5),  
  8.  @nvcCompanyName NVARCHAR(40),       
  9.  @nvcAddress NVARCHAR(60),  
  10.  @intReturnValue INT OUTPUT  
  11. )  
  12. AS  
  13. --不返回受影响的行  
  14.  SET NOCOUNT ON  
  15.  --更新指定的Customers  
  16.  UPDATE CUSTOMERS  
  17. SET COMPANYNAME = @nvcCompanyName,  
  18.   ADDRESS = @nvcAddress  
  19.  WHERE CUSTOMERID = @ncCustomerID  
  20. IF @@ERROR <> 0  
  21.   BEGIN  
  22.   --如果更新发生异常,返回-1  
  23.  SET @intReturnValue = -1  
  24.  RETURN  
  25.   END  
  26. RETURN 

linq存储过程之新增Customer

  1. Procedure Name : [dbo].[updCustomers]  
  2. Note                : modify Customer  
  3. Created By        : Tom  
  4. Created Date     : 2008-5-28      
  5. CREATE PROCEDURE [dbo].[updCustomers]  
  6. (  
  7. @ncCustomerID NCHAR(5),  
  8. @nvcCompanyName NVARCHAR(40),       
  9. @nvcAddress NVARCHAR(60),  
  10. @intReturnValue INT OUTPUT  
  11. )  
  12. AS  
  13. --不返回受影响的行  
  14.  SET NOCOUNT ON  
  15.  --更新指定的Customers  
  16.  UPDATE CUSTOMERS  
  17.  SET COMPANYNAME = @nvcCompanyName,  
  18. ADDRESS = @nvcAddress  
  19.  WHERE CUSTOMERID = @ncCustomerID  
  20. IF @@ERROR <> 0  
  21.  BEGIN  
  22.   --如果更新发生异常,返回-1  
  23.  SET @intReturnValue = -1  
  24.   RETURN  
  25.  END  
  26. RETURN  

4). 打开Visual Studio2008的服务器资源管理器,展开Northwind数据库的linq存储过程目录,将上叙四个存储过程依次拖入到打开的Northwind.dbml右侧方法区,查看引入的四个linq存储过程的属性,修改其Name名为"GetCustomers","DeleteCustomers","UpdateCustomers","InsertCustomers",如下图所示:

四个linq存储过程的属性
四个linq存储过程的属性

【编辑推荐】

  1. 详谈Linq查询结果分析的方法
  2. 简简单单学习Linq查询语法
  3. 详细阐述Linq插入数据的操作方法
  4. 浅析Linq插入数据的实现方法
  5. 简单解决Linq多条件组合问题

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...