简单实现linq存储过程基本操作

开发 后端
本篇关注的是linq存储过程来完成数据库的四步操作(查询,删除,更新,新增)。本来linq是可以调用Sql语句来进行数据库的四步操作的,但是我对Sql语句写在类里面,非常反感,所以不打算写这个体会了。

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多条件组合问题
责任编辑:阡陌 来源: 网易博客
相关推荐

2009-09-17 15:51:39

Linq to sql

2009-09-17 11:32:52

LINQ调用存储过程

2009-09-17 10:04:32

LINQ存储过程

2009-09-09 10:54:52

Linq存储过程返回

2009-09-15 11:08:01

LinQ调用存储过程

2009-09-17 15:22:38

LINQ to SQL

2009-09-13 19:24:33

LINQ存储过程

2009-09-17 10:27:55

linq存储过程

2009-09-17 09:24:57

Linq实现分页

2009-06-18 10:07:44

LINQ to ACC

2009-09-15 15:18:40

Linq连接查询

2009-09-14 16:29:39

LINQ嵌套

2009-09-15 11:34:47

Linq多条件查询

2011-03-28 09:56:03

存储增删操作

2011-04-13 09:45:15

Oracle存储

2009-09-17 09:57:08

linq创建数据库

2009-09-14 10:29:02

LINQ删除记录

2018-08-28 11:40:47

存储过程语法

2018-10-12 11:26:13

oracle存储语法

2010-06-01 15:09:55

MySQL 存储过程
点赞
收藏

51CTO技术栈公众号