LINQ - 在LINQ使用Stored Procedure Part 1

摘要:LINQ - 在LINQ使用Stored Procedure Part 1

這三個月來幾乎都與LINQ混在一起,最讓我難忘的是SQL Server的Stored Procedure;所以嚕,雖然用著LINQ這強大的東東,但還是依然難忘SQL Server的Stored Procedure,所以就來說說在LINQ中,使用Stored Procedure(之後都用SP表示)。

1.以Northwind為範例,將dbo.CustOrderHist與dbo.[Ten Most Expensive Products]的SP拉進LINQ TO SQL中。


2.使用未傳參數的SP

Code:

MyDataContext db = new MyDataContext();

var result = from t in db.Ten_Most_Expensive_Products()
                 select t;

dataGridView1.DataSource = result.ToList();

Result:


3.使用傳參數的SP

Code:

MyDataContext db = new MyDataContext();

var result = from c in db.CustOrderHist("ALFKI")
                 select c;

dataGridView1.DataSource = result.ToList();

Result:


4.使用傳參數的SP,並傳回值,在LINQ TO SQL中,拉進一個客制的SP,名為dbo.LinqOutputValue。這個SP會傳回CustomerID為"ALFKI"裡,最大的加總值。

Code:

MyDataContext db = new MyDataContext();

System.Nullable<int> returnValue = null;

int result = db.LinqOutputValue("ALFKI", ref returnValue);

MessageBox.Show("Total:" + result.ToString());

Result:



下一篇將來說說,SP中組字串或者用暫存資料表,來與LINQ結合。