SqlSugar文檔

sqlsugar:

http://www.donet5.com/Doc/1/1198

 

 

介紹

下面的方法支持複雜的Sql  、 返回多個結果集 、存儲過程等  、可以理解爲了一個高級DbHelper

 

1、用法介紹

//調用Sql
db.Ado.具體方法
 
//調用存儲過程
db.Ado.UseStoredProcedure().具體方法

 

2、調用Sql

//參數1
var dt=db.Ado.GetDataTable("select * from table where id=@id and name=@name",new List<SugarParameter>(){
  new SugarParameter("@id",1),
  new SugarParameter("@name",2)
});
 
//參數2
var dt=db.Ado.GetDataTable("select * from table where id=@id and name=@name",new{id=1,name=2});
 
 
//原生SQL用實體
var  t=db.Ado.SqlQuery<table>(sql);//比db.SqlQueryable兼容性更強,支持複雜SQL存儲過程,缺點沒有自帶的分頁操作

 

3、 調用存儲過程

//簡單用法
var dt = db.Ado.UseStoredProcedure().GetDataTable("sp_school",new{name="張三",age=0}); 
 
 
 
//帶有output的存儲過程
var nameP= new SugarParameter("@name""張三");
var ageP= new SugarParameter("@age"nulltrue);//設置爲output
var dt = db.Ado.UseStoredProcedure().GetDataTable("sp_school",nameP,ageP);
//ageP.Value可以拿到output值
//Oracle 遊標參數用法  
 
 
//如果是ReturnValue
var nameP=new SugarParameter("@name""張三"typeof(string),ParameterDirection.ReturnValue);
 
 
//我們還可以用 GetParameters 來簡化參數操作 
 SugarParameter [] pars =db.Ado.GetParameters(new{p=1,p2=p}); 
 pars[1].Direction=ParameterDirection.Output;

 

4、in參數用法

 var dt = db.Ado.SqlQuery<Order>(
                      "select * from [order] where  id in(@ids)",
                       new { ids = new int[] { 1,2,3} });
 //select * from [order] where  id in('1','2','3')

 

5、db.Ado下面的所有方法

用法和上面一樣只是方法名換一下

方法名描述返回值
SqlQuery< T > 查詢所有返回實體集合 List
SqlQuery<T,T2> 可以返回2個結果集 Tuple<List, List>
SqlQuerySingle 查詢第一條記錄 T
GetDataTable 查詢所有 DataTable
GetDataReader 讀取DR需要手動釋放DR DataReader
GetDataSetAll 獲取多個結果集 DataSet
ExecuteCommand 返回受影響行數,一般用於增刪改 int
GetScalar 獲取首行首列 object
GetString 獲取首行首列 string
GetInt 獲取首行首列 int
GetLong 獲取首行首列 long
GetDouble 獲取首行首列 Double
GetDecimal 獲取首行首列 Decimal
GetDateTime 獲取首行首列 DateTime

 

6、SqlServer帶Go的腳本處理

db.Ado.ExecuteCommandWithGo(sql) //go語句是獨立一行就支持

 

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