当前位置:主页   - 电脑 - 程序设计 - C#
LINQ体验(14)——LINQ to SQL语句之存储过程
来源:网络   作者:   更新时间:2012-08-05
收藏此页】    【字号    】    【打印】    【关闭

  存储过程

  在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些。下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下。

  1.标量返回

  在数据库中,有名为Customers Count By Region的存储过程。该存储过程返回顾客所在"WA"区域的数量。

ALTER PROCEDURE [dbo].[NonRowset]
  (@param1 NVARCHAR(15))
AS
BEGIN
  SET NOCOUNT ON;
   DECLARE @count int
   SELECT @count = COUNT(*)FROM Customers
   WHERECustomers.Region = @Param1
   RETURN @count
END

  我们只要把这个存储过程拖到O/R设计器内,它自动生成了以下代码段:

[Function(Name = "dbo.[Customers Count By Region]")]
public int Customers_Count_By_Region([Parameter
(DbType = "NVarChar(15)")] string param1)
{
  IExecuteResult result = this.ExecuteMethodCall(this,
  ((MethodInfo)(MethodInfo.GetCurrentMethod())), param1);
  return ((int)(result.ReturnValue));
}

  我们需要时,直接调用就可以了,例如:

int count = db.CustomersCountByRegion("WA");
Console.WriteLine(count);

  语句描述:这个实例使用存储过程返回在“WA”地区的客户数。

  2.单一结果集

  从数据库中返回行集合,并包含用于筛选结果的输入参数。 当我们执行返回行集合的存储过程时,会用到结果类,它存储从存储过程中返回的结果。

  下面的示例表示一个存储过程,该存储过程返回客户行并使用输入参数来仅返回将“London”列为客户城市的那些行的固定几列。 

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明