存儲過程
在我們編寫程序中,往往需要一些存儲過程,在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”地區的客戶數。