標籤:style blog color io 使用 ar 資料 2014 div
一、調用預存程序
1、不帶參數
CREATE PROCEDURE ProcedureWithoutParamsAS SELECT * FROM ORDER;
調用db.ProcedureWithoutParams();
2、帶參數
CREATE PROCEDURE ProcedureWithoutParams@ORDERCODE VARCHAR(MAX)AS SELECT * FROM ORDER WHERE ORDERCODE=@ORDERCODE;
調用db.ProcedureWithoutParams(1);
或者db.ProcedureWithoutParams(ORDERCODE:1);
二、事務
using (var transaction = db.BeginTransaction()){ transaction.Users.Insert(Name: "張三", Age: 20); transaction.Commit();}
三、分頁
1、擷取多條資料,沒有跳過資料
IEnumerable<dynamic> q = db.Order.All().Take(10).ToList<dynamic>();
2、跳過多條記錄返回多條資料
IEnumerable<dynamic> q = db.Order.All().Skip(10).Take(10).ToList<dynamic>();
四、Simple.Data.Oracle使用心得
1、Sequence使用
db.Customer.Insert(CustomerId:Sequence.Next("Customers_SEQ"));
加入CustomerId作為Order的外鍵,新增時需要擷取到產生的Sequence賦值給Order
using (var tx = db.BeginTransaction()){db.Customer.Insert(CustomerId:Sequence.Next("Customers_SEQ"));db.Order.Insert(CustomerId:Sequence.Current("Customers_SEQ"));tx.Commit();}
2、預存程序調用
目前是不支援遊標返回
create or replace PROCEDURE ORDERCOUNTBYFACTORYNAME(V_FACTORYNAME IN VARCHAR,V_COUNT OUT NUMBER)
ISbeginselect COUNT(*) INTO V_COUNT FROM ORDER OINNER JOIN ORDERDETAIL OD on O.PKID= OD.ORDERIDWHERE O.FACTORYNAME = V_FACTORYNAME ;end ORDERCOUNTBYFACTORYNAME;
調用方法是由:包頭名稱+__+預存程序名稱組成
var result = db.PKG__ORDERCOUNTBYFACTORYNAME("SO20140917");var count = result.OutputValues["V_COUNT "];
學習simple.data之進階篇