Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s0611163
Dapper.Lite
比较版本
f2e0ee679f3eaaa115cbc808ae10fb6d28aa5e63...92f991a3fd5cb9683b80e8bdef301e6beb7fa56d
D
Dapper.Lite
项目概览
s0611163
/
Dapper.Lite
5 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dapper.Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
源分支
92f991a3fd5cb9683b80e8bdef301e6beb7fa56d
选择Git版本
...
目标分支
f2e0ee679f3eaaa115cbc808ae10fb6d28aa5e63
选择Git版本
比较
Commits (4)
https://gitcode.net/s0611163/Dapper.Lite/-/commit/ec8e6501e19ef761c34d98e89937c136c3533a96
IDbSession接口增加SetCommandType方法,以支持调用存储过程; 删除多余的OnExecuting调用;
2023-12-08T14:36:14+08:00
suxiang
651029594@qq.com
https://gitcode.net/s0611163/Dapper.Lite/-/commit/472b7e0b74d2c0ba19e7ea644693347e9ed20a92
IDbSession接口增加设置Dapper参数的方法SetCommandTimeout和SetBuffered
2023-12-08T14:43:09+08:00
suxiang
651029594@qq.com
https://gitcode.net/s0611163/Dapper.Lite/-/commit/c95e2a899e35bf8ecc05f433de84134604e95adf
IDbSession接口新增查询并返回DataTable的方法
2023-12-08T15:41:05+08:00
suxiang
651029594@qq.com
https://gitcode.net/s0611163/Dapper.Lite/-/commit/92f991a3fd5cb9683b80e8bdef301e6beb7fa56d
v2.0.8
2023-12-08T15:46:47+08:00
suxiang
651029594@qq.com
隐藏空白更改
内联
并排
Showing
13 changed file
with
309 addition
and
74 deletion
+309
-74
Dapper.Lite/Dapper.Lite/Dapper.Lite.csproj
Dapper.Lite/Dapper.Lite/Dapper.Lite.csproj
+7
-4
Dapper.Lite/Dapper.Lite/Session/DbSession.cs
Dapper.Lite/Dapper.Lite/Session/DbSession.cs
+37
-0
Dapper.Lite/Dapper.Lite/Session/DbSessionDelete.cs
Dapper.Lite/Dapper.Lite/Session/DbSessionDelete.cs
+0
-16
Dapper.Lite/Dapper.Lite/Session/DbSessionExecuteCommand.cs
Dapper.Lite/Dapper.Lite/Session/DbSessionExecuteCommand.cs
+123
-28
Dapper.Lite/Dapper.Lite/Session/DbSessionFind.cs
Dapper.Lite/Dapper.Lite/Session/DbSessionFind.cs
+2
-2
Dapper.Lite/Dapper.Lite/Session/DbSessionFindList.cs
Dapper.Lite/Dapper.Lite/Session/DbSessionFindList.cs
+4
-4
Dapper.Lite/Dapper.Lite/Session/DbSessionInsert.cs
Dapper.Lite/Dapper.Lite/Session/DbSessionInsert.cs
+0
-12
Dapper.Lite/Dapper.Lite/Session/DbSessionUpdate.cs
Dapper.Lite/Dapper.Lite/Session/DbSessionUpdate.cs
+0
-8
Dapper.Lite/Dapper.Lite/Session/IDbSession.cs
Dapper.Lite/Dapper.Lite/Session/IDbSession.cs
+19
-0
Dapper.Lite/Dapper.Lite/Session/IDbSessionExecuteCommand.cs
Dapper.Lite/Dapper.Lite/Session/IDbSessionExecuteCommand.cs
+28
-0
Dapper.Lite/Dapper.Lite/SqlString/SqlString.cs
Dapper.Lite/Dapper.Lite/SqlString/SqlString.cs
+12
-0
Dapper.Lite/Dapper.LiteTest/QueryTest.cs
Dapper.Lite/Dapper.LiteTest/QueryTest.cs
+50
-0
db/procedures.sql
db/procedures.sql
+27
-0
未找到文件。
Dapper.Lite/Dapper.Lite/Dapper.Lite.csproj
浏览文件 @
92f991a3
...
...
@@ -6,9 +6,9 @@
<Nullable>disable</Nullable>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Title>Dapper.Lite</Title>
<AssemblyVersion>2.0.
7
</AssemblyVersion>
<FileVersion>2.0.
7
</FileVersion>
<Version>2.0.
7
</Version>
<AssemblyVersion>2.0.
8
</AssemblyVersion>
<FileVersion>2.0.
8
</FileVersion>
<Version>2.0.
8
</Version>
<PackageId>Dapper.Lite</PackageId>
<PackageProjectUrl>https://github.com/0611163/Dapper.Lite</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
...
...
@@ -20,7 +20,10 @@
</Description>
<PackageReleaseNotes>
更新内容:
1. 移除接口的where T : new()限制,以支持QueryList<string>
1. 新增:IDbSession接口增加SetCommandType方法,以支持调用存储过程
2. 优化:删除重复的OnExecuting调用
3. 新增:IDbSession接口新增查询并返回DataTable的方法
4. 新增:IDbSession接口增加设置Dapper参数的方法SetCommandTimeout和SetBuffered
</PackageReleaseNotes>
</PropertyGroup>
...
...
Dapper.Lite/Dapper.Lite/Session/DbSession.cs
浏览文件 @
92f991a3
...
...
@@ -86,6 +86,12 @@ namespace Dapper.Lite
/// </summary>
public
DbConnection
Conn
=>
_tran
?.
Connection
;
private
CommandType
_commandType
=
CommandType
.
Text
;
private
int
?
_commandTimeout
=
null
;
// Dapper参数
private
bool
_buffered
=
true
;
// Dapper参数
#
endregion
#
region
静态构造函数
...
...
@@ -254,5 +260,36 @@ namespace Dapper.Lite
}
#
endregion
#
region
设置
CommandType
/// <summary>
/// 设置CommandType
/// </summary>
public
IDbSession
SetCommandType
(
CommandType
commandType
)
{
_commandType
=
commandType
;
return
this
;
}
#
endregion
#
region
Dapper
参数设置
/// <summary>
/// 设置Dapper参数commandTimeout
/// </summary>
public
IDbSession
SetCommandTimeout
(
int
?
commandTimeout
)
{
_commandTimeout
=
commandTimeout
;
return
this
;
}
/// <summary>
/// 设置Dapper参数buffered
/// </summary>
public
IDbSession
SetBuffered
(
bool
buffered
)
{
_buffered
=
buffered
;
return
this
;
}
#
endregion
}
}
Dapper.Lite/Dapper.Lite/Session/DbSessionDelete.cs
浏览文件 @
92f991a3
...
...
@@ -47,8 +47,6 @@ namespace Dapper.Lite
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}={2}"
,
GetTableName
(
_provider
,
type
),
idNameWithQuote
,
_provider
.
GetParameterName
(
idName
,
idType
)));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
}
#
endregion
...
...
@@ -90,8 +88,6 @@ namespace Dapper.Lite
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}={2}"
,
GetTableName
(
_provider
,
type
),
idNameWithQuote
,
_provider
.
GetParameterName
(
idName
,
idType
)));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
}
#
endregion
...
...
@@ -122,8 +118,6 @@ namespace Dapper.Lite
sbSql
.
Remove
(
sbSql
.
Length
-
1
,
1
);
sbSql
.
Append
(
")"
);
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
}
#
endregion
...
...
@@ -153,8 +147,6 @@ namespace Dapper.Lite
sbSql
.
Remove
(
sbSql
.
Length
-
1
,
1
);
sbSql
.
Append
(
")"
);
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
}
#
endregion
...
...
@@ -200,8 +192,6 @@ namespace Dapper.Lite
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
null
);
return
Execute
(
sbSql
.
ToString
());
}
#
endregion
...
...
@@ -219,8 +209,6 @@ namespace Dapper.Lite
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
null
);
return
await
ExecuteAsync
(
sbSql
.
ToString
());
}
#
endregion
...
...
@@ -265,8 +253,6 @@ namespace Dapper.Lite
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
Execute
(
sbSql
.
ToString
(),
cmdParms
);
}
#
endregion
...
...
@@ -284,8 +270,6 @@ namespace Dapper.Lite
Tuple
<
string
,
string
>
delTmpl
=
_provider
.
CreateDeleteSqlTempldate
();
sbSql
.
Append
(
string
.
Format
(
delTmpl
.
Item1
+
" {0} "
+
delTmpl
.
Item2
+
" {1}"
,
GetTableName
(
_provider
,
type
),
condition
));
OnExecuting
?.
Invoke
(
sbSql
.
ToString
(),
cmdParms
);
return
await
ExecuteAsync
(
sbSql
.
ToString
(),
cmdParms
);
}
#
endregion
...
...
Dapper.Lite/Dapper.Lite/Session/DbSessionExecuteCommand.cs
浏览文件 @
92f991a3
...
...
@@ -28,7 +28,6 @@ namespace Dapper.Lite
public
bool
Exists
(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
ExecuteScalar
(
sqlString
);
...
...
@@ -50,7 +49,6 @@ namespace Dapper.Lite
public
async
Task
<
bool
>
ExistsAsync
(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
...
...
@@ -74,7 +72,6 @@ namespace Dapper.Lite
public
T
QuerySingle
<
T
>(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
ExecuteScalar
(
sqlString
);
...
...
@@ -97,7 +94,6 @@ namespace Dapper.Lite
public
object
QuerySingle
(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
ExecuteScalar
(
sqlString
);
...
...
@@ -120,7 +116,6 @@ namespace Dapper.Lite
public
async
Task
<
T
>
QuerySingleAsync
<
T
>(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
...
...
@@ -143,7 +138,6 @@ namespace Dapper.Lite
public
async
Task
<
object
>
QuerySingleAsync
(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
);
...
...
@@ -222,9 +216,6 @@ namespace Dapper.Lite
/// </summary>
public
bool
Exists
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
...
@@ -244,9 +235,6 @@ namespace Dapper.Lite
/// </summary>
public
async
Task
<
bool
>
ExistsAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
...
@@ -269,9 +257,6 @@ namespace Dapper.Lite
/// <param name="cmdParms">参数</param>
public
T
QuerySingle
<
T
>(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
...
@@ -293,9 +278,6 @@ namespace Dapper.Lite
/// <param name="cmdParms">参数</param>
public
object
QuerySingle
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
ExecuteScalar
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
...
@@ -317,9 +299,6 @@ namespace Dapper.Lite
/// <param name="cmdParms">参数</param>
public
async
Task
<
T
>
QuerySingleAsync
<
T
>(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
...
@@ -341,9 +320,6 @@ namespace Dapper.Lite
/// <param name="cmdParms">参数</param>
public
async
Task
<
object
>
QuerySingleAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
object
obj
=
await
ExecuteScalarAsync
(
sqlString
,
cmdParms
);
if
(
object
.
Equals
(
obj
,
null
)
||
object
.
Equals
(
obj
,
DBNull
.
Value
))
...
...
@@ -537,11 +513,13 @@ namespace Dapper.Lite
#
region
ExecuteScalar
internal
object
ExecuteScalar
(
string
sqlString
,
DbParameter
[]
cmdParms
=
null
)
{
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
try
{
return
conn
.
ExecuteScalar
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
);
return
conn
.
ExecuteScalar
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_commandTimeout
,
_commandType
);
}
finally
{
...
...
@@ -556,11 +534,13 @@ namespace Dapper.Lite
#
region
ExecuteScalarAsync
internal
async
Task
<
object
>
ExecuteScalarAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
=
null
)
{
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
try
{
return
await
conn
.
ExecuteScalarAsync
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
);
return
await
conn
.
ExecuteScalarAsync
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_commandTimeout
,
_commandType
);
}
finally
{
...
...
@@ -575,11 +555,13 @@ namespace Dapper.Lite
#
region
Execute
internal
int
Execute
(
string
sqlString
,
DbParameter
[]
cmdParms
=
null
)
{
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
try
{
return
conn
.
Execute
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
);
return
conn
.
Execute
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_commandTimeout
,
_commandType
);
}
finally
{
...
...
@@ -594,11 +576,124 @@ namespace Dapper.Lite
#
region
ExecuteAsync
internal
async
Task
<
int
>
ExecuteAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
=
null
)
{
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
try
{
return
await
conn
.
ExecuteAsync
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_commandTimeout
,
_commandType
);
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
#
endregion
#
region
查询并返回
DataTable
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
public
DataTable
QueryDataTable
(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
var
conn
=
GetConnection
(
_tran
);
try
{
var
reader
=
conn
.
ExecuteReader
(
sqlString
,
null
,
_tran
,
_commandTimeout
,
_commandType
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
public
async
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
)
{
SqlFilter
(
ref
sqlString
);
OnExecuting
?.
Invoke
(
sqlString
,
null
);
var
conn
=
GetConnection
(
_tran
);
try
{
var
reader
=
await
conn
.
ExecuteReaderAsync
(
sqlString
,
null
,
_tran
,
_commandTimeout
,
_commandType
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
public
DataTable
QueryDataTable
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
try
{
var
reader
=
conn
.
ExecuteReader
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_commandTimeout
,
_commandType
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
if
(
_tran
==
null
)
{
if
(
conn
.
State
!=
ConnectionState
.
Closed
)
conn
.
Close
();
}
}
}
/// <summary>
/// 执行查询语句,返回DataTable
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
public
async
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
)
{
OnExecuting
?.
Invoke
(
sqlString
,
cmdParms
);
var
conn
=
GetConnection
(
_tran
);
try
{
return
await
conn
.
ExecuteAsync
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
);
var
reader
=
await
conn
.
ExecuteReaderAsync
(
sqlString
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_commandTimeout
,
_commandType
);
DataTable
dt
=
new
DataTable
();
dt
.
Load
(
reader
);
return
dt
;
}
finally
{
...
...
Dapper.Lite/Dapper.Lite/Session/DbSessionFind.cs
浏览文件 @
92f991a3
...
...
@@ -212,7 +212,7 @@ namespace Dapper.Lite
try
{
return
conn
.
QueryFirstOrDefault
(
type
,
sql
,
ToDynamicParameters
(
parameters
),
_tran
);
return
conn
.
QueryFirstOrDefault
(
type
,
sql
,
ToDynamicParameters
(
parameters
),
_tran
,
_commandTimeout
,
_commandType
);
}
finally
{
...
...
@@ -237,7 +237,7 @@ namespace Dapper.Lite
try
{
return
await
conn
.
QueryFirstOrDefaultAsync
(
type
,
sql
,
ToDynamicParameters
(
parameters
),
_tran
);
return
await
conn
.
QueryFirstOrDefaultAsync
(
type
,
sql
,
ToDynamicParameters
(
parameters
),
_tran
,
_commandTimeout
,
_commandType
);
}
finally
{
...
...
Dapper.Lite/Dapper.Lite/Session/DbSessionFindList.cs
浏览文件 @
92f991a3
...
...
@@ -26,7 +26,7 @@ namespace Dapper.Lite
try
{
return
conn
.
Query
<
T
>(
sql
,
null
,
_tran
).
ToList
();
return
conn
.
Query
<
T
>(
sql
,
null
,
_tran
,
_buffered
,
_commandTimeout
,
_commandType
).
ToList
();
}
finally
{
...
...
@@ -52,7 +52,7 @@ namespace Dapper.Lite
try
{
return
(
await
conn
.
QueryAsync
<
T
>(
sql
,
null
,
_tran
)).
ToList
();
return
(
await
conn
.
QueryAsync
<
T
>(
sql
,
null
,
_tran
,
_commandTimeout
,
_commandType
)).
ToList
();
}
finally
{
...
...
@@ -78,7 +78,7 @@ namespace Dapper.Lite
try
{
return
conn
.
Query
<
T
>(
sql
,
ToDynamicParameters
(
cmdParms
),
_tran
).
ToList
();
return
conn
.
Query
<
T
>(
sql
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_buffered
,
_commandTimeout
,
_commandType
).
ToList
();
}
finally
{
...
...
@@ -103,7 +103,7 @@ namespace Dapper.Lite
try
{
return
(
await
conn
.
QueryAsync
<
T
>(
sql
,
ToDynamicParameters
(
cmdParms
),
_tran
)).
ToList
();
return
(
await
conn
.
QueryAsync
<
T
>(
sql
,
ToDynamicParameters
(
cmdParms
),
_tran
,
_commandTimeout
,
_commandType
)).
ToList
();
}
finally
{
...
...
Dapper.Lite/Dapper.Lite/Session/DbSessionInsert.cs
浏览文件 @
92f991a3
...
...
@@ -24,8 +24,6 @@ namespace Dapper.Lite
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
...
...
@@ -40,8 +38,6 @@ namespace Dapper.Lite
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
strSql
.
Append
(
";"
+
selectIdSql
+
";"
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
object
id
=
ExecuteScalar
(
strSql
.
ToString
(),
parameters
);
return
Convert
.
ToInt64
(
id
);
}
...
...
@@ -58,8 +54,6 @@ namespace Dapper.Lite
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
...
...
@@ -74,8 +68,6 @@ namespace Dapper.Lite
PrepareInsertSql
(
obj
,
ref
strSql
,
ref
parameters
);
strSql
.
Append
(
";"
+
selectIdSql
+
";"
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
object
id
=
await
ExecuteScalarAsync
(
strSql
.
ToString
(),
parameters
);
return
Convert
.
ToInt64
(
id
);
}
...
...
@@ -105,8 +97,6 @@ namespace Dapper.Lite
PrepareInsertSql
<
T
>(
listPage
,
ref
strSql
,
ref
parameters
,
ref
savedCount
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
}
...
...
@@ -136,8 +126,6 @@ namespace Dapper.Lite
PrepareInsertSql
<
T
>(
listPage
,
ref
strSql
,
ref
parameters
,
ref
savedCount
);
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
}
...
...
Dapper.Lite/Dapper.Lite/Session/DbSessionUpdate.cs
浏览文件 @
92f991a3
...
...
@@ -69,8 +69,6 @@ namespace Dapper.Lite
if
(
savedCount
>
0
)
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
}
...
...
@@ -93,8 +91,6 @@ namespace Dapper.Lite
if
(
savedCount
>
0
)
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
}
...
...
@@ -139,8 +135,6 @@ namespace Dapper.Lite
if
(
savedCount
>
0
)
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
Execute
(
strSql
.
ToString
(),
parameters
);
}
}
...
...
@@ -186,8 +180,6 @@ namespace Dapper.Lite
if
(
savedCount
>
0
)
{
OnExecuting
?.
Invoke
(
strSql
.
ToString
(),
parameters
);
await
ExecuteAsync
(
strSql
.
ToString
(),
parameters
);
}
}
...
...
Dapper.Lite/Dapper.Lite/Session/IDbSession.cs
浏览文件 @
92f991a3
...
...
@@ -105,5 +105,24 @@ namespace Dapper.Lite
void
SetTypeMap
<
T
>();
#
endregion
#
region
设置
CommandType
/// <summary>
/// 设置CommandType
/// </summary>
IDbSession
SetCommandType
(
CommandType
commandType
);
#
endregion
#
region
Dapper
参数设置
/// <summary>
/// 设置Dapper参数commandTimeout
/// </summary>
IDbSession
SetCommandTimeout
(
int
?
commandTimeout
);
/// <summary>
/// 设置Dapper参数buffered
/// </summary>
IDbSession
SetBuffered
(
bool
buffered
);
#
endregion
}
}
Dapper.Lite/Dapper.Lite/Session/IDbSessionExecuteCommand.cs
浏览文件 @
92f991a3
...
...
@@ -151,6 +151,34 @@ namespace Dapper.Lite
#
endregion
#
region
查询并返回
DataTable
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
DataTable
QueryDataTable
(
string
sqlString
);
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
);
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
DataTable
QueryDataTable
(
string
sqlString
,
DbParameter
[]
cmdParms
);
/// <summary>
/// 执行查询语句,返回DbDataReader
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <param name="cmdParms">参数</param>
/// <returns>IDataReader</returns>
Task
<
DataTable
>
QueryDataTableAsync
(
string
sqlString
,
DbParameter
[]
cmdParms
);
#
endregion
#
region
传
SqlString
/// <summary>
...
...
Dapper.Lite/Dapper.Lite/SqlString/SqlString.cs
浏览文件 @
92f991a3
...
...
@@ -490,6 +490,17 @@ namespace Dapper.Lite
Dictionary
<
string
,
object
>
dict
=
new
Dictionary
<
string
,
object
>();
MatchCollection
mc
=
_regex
.
Matches
(
sql
);
int
argIndex
=
0
;
if
(
isAnonymous
&&
mc
.
Count
==
0
)
//存储过程的情况
{
foreach
(
string
name
in
anonymousValues
.
Keys
)
{
object
obj
=
anonymousValues
[
name
];
dict
.
Add
(
name
,
obj
);
}
return
dict
;
}
foreach
(
Match
m
in
mc
)
{
var
oldSql
=
m
.
Value
;
...
...
@@ -519,6 +530,7 @@ namespace Dapper.Lite
sql
=
ReplaceSql
(
sql
,
oldSql
,
name
,
parameterType
);
}
}
return
dict
;
}
#
endregion
...
...
Dapper.Lite/Dapper.LiteTest/QueryTest.cs
浏览文件 @
92f991a3
...
...
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using
System.Linq
;
using
Dapper.Lite
;
using
Utils
;
using
System.Data
;
namespace
Dapper.LiteTest
{
...
...
@@ -446,5 +447,54 @@ namespace Dapper.LiteTest
}
#
endregion
#
region
测试调用存储过程
[
TestMethod
]
public
void
TestStoredProcedure
()
{
var
session
=
DapperLiteFactory
.
GetSession
();
session
.
OnExecuting
=
(
s
,
p
)
=>
{
Console
.
WriteLine
(
s
);
};
List
<
dynamic
>
list
=
session
.
SetCommandType
(
CommandType
.
StoredProcedure
).
Sql
(
"query_user"
,
new
{
maxId
=
20
}).
ToList
<
dynamic
>();
foreach
(
var
item
in
list
)
{
Console
.
WriteLine
(
$"
{
item
.
user_name
}
,
{
item
.
real_name
}
,
{
item
.
remark
}
"
);
}
Assert
.
IsTrue
(
list
.
Count
>
0
);
list
=
session
.
SetCommandType
(
CommandType
.
Text
).
Sql
(
"select user_name, real_name, remark from sys_user where id<=@Id"
,
20
).
ToList
<
dynamic
>();
Assert
.
IsTrue
(
list
.
Count
>
0
);
}
#
endregion
#
region
测试查询并返回
DataTable
[
TestMethod
]
public
void
TestReturnDataTable
()
{
var
session
=
DapperLiteFactory
.
GetSession
();
session
.
OnExecuting
=
(
s
,
p
)
=>
{
Console
.
WriteLine
(
s
);
};
var
sql
=
session
.
Sql
(
"select * from sys_user where id<=@Id"
,
20
);
DataTable
dt
=
session
.
QueryDataTable
(
sql
.
SQL
,
sql
.
Params
);
foreach
(
DataRow
dr
in
dt
.
Rows
)
{
Console
.
WriteLine
(
$"
{
dr
[
"user_name"
]}
,
{
dr
[
"real_name"
]}
,
{
dr
[
"remark"
]}
"
);
}
Assert
.
IsTrue
(
dt
.
Rows
.
Count
>
0
);
var
list
=
sql
.
ToList
<
dynamic
>();
Assert
.
IsTrue
(
list
.
Count
>
0
);
}
#
endregion
}
}
db/procedures.sql
0 → 100644
浏览文件 @
92f991a3
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50728
Source Host : localhost:3306
Source Database : litesql_test
Target Server Type : MYSQL
Target Server Version : 50728
File Encoding : 65001
Date: 2023-12-08 13:30:02
*/
SET
FOREIGN_KEY_CHECKS
=
0
;
-- ----------------------------
-- Procedure structure for `query_user`
-- ----------------------------
DROP
PROCEDURE
IF
EXISTS
`query_user`
;
DELIMITER
;;
CREATE
DEFINER
=
`root`
@
`%`
PROCEDURE
`query_user`
(
in
maxId
BIGINT
)
BEGIN
SELECT
*
from
sys_user
where
id
<=
maxId
;
END
;;
DELIMITER
;