linq調用存儲過程示例

linq調用存儲過程示例

linq 在查詢數據方便提供了很大的便利,但有時候還是需要用到存儲過程,通過linq來調用存儲過程其實也非常方便。直接將存儲過程拖到對象關係設計器裏,存儲過程就可以作爲DataContext方法來調用了。

調用存儲過程可能得到的結果有幾種:
1、沒有任何返回
2、return值的方式返回
3、output的方式返回
4、返回記錄集

只要知道linq在調用存儲過程之後如何獲取返回值就可以了。
簡單舉個例子:(把幾種返回放到一起了)
存儲過程:
CREATE PROCEDURE [dbo].[GET_NEWSLIST]
@ClassID INT,
@RecordTotal INT=0 OUTPUT
AS
BEGIN
SET @RecordTotal = (SELECT COUNT(1) FROM NEWSINFO WHERE CLASSID=@ClassID) --output值
SELECT * FROM NEWSINFO WHERE CLASSID=@ClassID --輸出記錄集
return 100 --return值
END

linq裏調用和獲取返回值:
using (SiteCmsDataContext db = new SiteCmsDataContext())
{
int? records=0; //定義輸出的output參數
int classID = 15;
var temp = db.GET_NEWSLIST(classID, ref records);

this.GridView1.DataSource = temp; //temp本身就是IEnumerable 的集合,可以直接作爲.net控件的數據源,也可以通過ToList、ToArray等方法來轉換。
this.GridView1.DataBind();

string retValue = temp.ReturnValue.ToString(); //獲取return值





原文地址:http://hi.baidu.com/bluesky_cn/item/629a9c7e98f0e5376cc37ccf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章