新到的公司專案用ef+mvc,開始接觸,遇到很多挫折,由於資料庫設計原因,很多地方都要用檢視、儲存過程來實現一些需求。
呼叫儲存過程遇到了好多問題,這邊記錄一下幾種呼叫方式,及遇到的問題的解決方式。
儲存過程:
alter procedure sp_name(
@param1 int,
@param2 int,
@param3 bit output,
@param4 nvarchar(50) output
)as
begin
end一、var entities = new dataentities();
var param1 =0;
var param2 =1;
var param3 = new objectparameter("param3 ", dbtype.boolean);
var param4 = new objectparameter("param4 ", typeof(string));
entities.sp_name(param1, param2 , param3 , param4 );
二、sqlparameter param =;
param[0].value = 0;
param[1].value = 0;
param[2].direction = parameterdirection.output;
param[3].direction = parameterdirection.output;
var results = db.database.sqlquery(
"sp_name@param1 ,@param2 ,@param3 out,@param4 out",
param[0], param[1],param[2],param[3]);
或者 var results = db.database.executesqlcommand(
"sp_name@param1 ,@param2 ,@param3 out,@param4 out",
param[0], param[1],param[2],param[3]);
這樣同樣不行,因為後來發現上面的方式可以了就沒有再深究具體什麼原因不行。
以上是主要執行插入或者刪除之類操作的儲存過程,那麼查詢資料怎麼獲取到查到到的資料呢?
儲存過程:
alter procedure sp_name
@param1 varchar(50),
@param2 int output
asbegin
select * from tb_name
end**:
var db = new dataentities();
sqlparameter param =;
param[0].value = id;
param[1].direction = parameterdirection.output;
var results = db.database.sqlquery(
"sp_membermanager @id,@reval out",
param[0], param[1]);
param2= convert.toint32(param[1].value);
ilistinfolist = new list();
if (reval == 0)
剛開始接觸,僅僅記錄一下,有什麼不對的請多指教!
EF 呼叫儲存過程
1.執行返回表型別的儲存過程 主表從表資料一起關聯查詢 alter proc dbo getcategory cidint asbegin select fromcategories where cid cid end 執行此儲存過程的 如下 public ienumerablegetcategor...
EF呼叫儲存過程
1 無引數查詢 var model db.database.sqlquery select from userinfoes tolist 2 有參查詢 var model db.database.sqlquery select from userinfoes where id id new sqlp...
ef mysql 儲存過程 EF 儲存過程
one 理論 a 定義 儲存過程 stored procedure 是一組為了完成特定功能的sql語句集合,經編譯後儲存在伺服器端的資料庫中,利用儲存過程可以加速sql語句的執行。儲存過程分為系統儲存過程和自定義儲存過程。1.系統儲存過程在master資料庫中,但是在其他的資料庫中可以直接呼叫,並且...