LINQ to SQL : SP 실행
SQL 서버의 저장 프로시져(Stored Procedure)나 Function을 .dbml에 추가한 경우, 이는 메서드를 통해 호출 될 수 있다. Stored Procedure나 Function등의 메서드는 DataContext 객체로 부터 직접호출 된다. Stored Procedure 파라미터가 있는 경우, 이를 메서드의 파라미터로 전달하면 된다. 아래 예제는 GetOrders라는 Stored Procedure를 SQL Server상에 생성하고, 이를 LINQ to SQL의 메서드를 이용해 호출하는 예이다.
CREATE PROCEDURE [dbo].[GetOrders]
@StartId int, @EndId int
AS
BEGIN SET NOCOUNT ON;
SELECT * FROM Orders
WHERE [Order ID] >= @StartId
AND [Order ID] <=>=>
END
@StartId int, @EndId int
AS
BEGIN SET NOCOUNT ON;
SELECT * FROM Orders
WHERE [Order ID] >= @StartId
AND [Order ID] <=>=>
END
예제
MyDBDataContext db = new MyDBDataContext();
// GetOrders라는 Stored Procedure를 실행
var qry = db.GetOrders(10001, 10010);
foreach (var o in qry)
{
listBox1.Items.Add(o.Order_ID + o.Order_Date.ToString());
}
// GetOrders라는 Stored Procedure를 실행
var qry = db.GetOrders(10001, 10010);
foreach (var o in qry)
{
listBox1.Items.Add(o.Order_ID + o.Order_Date.ToString());
}