|
我希望能够在PetaPoco中使用命名参数调用存储的proc。
, y; ~0 x; E1 \; l! d为了调用执行搜索/获取的存储过程:
, R5 {, J4 J% ^4 f# @! w6 g3 `我可以做这样的事情:
- E6 {) [: r! }% Creturn db.Fetch("EXEC SP_FindCust",% _& D, j4 J- m8 o
new SqlParameter("@first_name", fName),
2 h- A& h6 \- N; Wnew SqlParameter("@last_name", lName)," ~( g0 u+ ^$ C/ F1 E
new SqlParameter("@dob", dob));
[' j9 F8 E8 A* O9 o另外,如何调用执行插入操作的存储过程?
( J4 \( u* t$ t, W* d: k. }return db.Execute("EXEC InsertCust @CustID = 1, @CustName = AAA")) q" P; I7 {7 B d& s
谢谢,Nac/ n7 ]7 q& Q+ C/ `+ G: q
}8 m6 k3 `) u, ?
解决方案:
8 g% I, E: z. x8 s0 n. U
$ }# ]: ~3 x1 E- y, z! E' A3 l6 u: h, |( ]% d M
$ C. w- |. `1 B# G7 i' V: {3 d 更新:
( G5 @ W/ ]2 W! C0 z. b我尝试了以下操作来进行获取和插入,并且效果很好:/ L8 H( O. Y1 ^8 H9 G; W7 J
var s = PetaPoco.Sql.Builder.Append("EXEC SP_FindCust @@last_name = @0", lname);
* u* y$ ]8 V2 |% n" }" j- [s.Append(", @@first_name = @0", fName);
/ @! n. A3 x. W q! {: ]7 Os.Append(", @@last_name = @0", lName);
& b/ i3 n8 |* C) js.Append(", @@dob = @0", dob);* F! {9 M% D7 v" o. i
return db.Query(s);0 Q6 L( m0 B8 q# |: e7 b2 r/ H1 H
可以进一步改进以传递SQL参数。 |
|