Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s0611163
LiteSql
提交
8340096d
L
LiteSql
项目概览
s0611163
/
LiteSql
5 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
LiteSql
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8340096d
编写于
12月 04, 2023
作者:
s0611163
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v2.0.7 支持QueryList<dynamic>即返回值List<dynamic>类型; 移除接口的where T : new()限制,以支持QueryList<string>
上级
5945cfe9
变更
20
隐藏空白更改
内联
并排
Showing
20 changed file
with
180 addition
and
85 deletion
+180
-85
LiteSql/LiteSql/ILiteSqlClient.cs
LiteSql/LiteSql/ILiteSqlClient.cs
+2
-2
LiteSql/LiteSql/LiteSql.csproj
LiteSql/LiteSql/LiteSql.csproj
+6
-5
LiteSql/LiteSql/LiteSqlClient.cs
LiteSql/LiteSql/LiteSqlClient.cs
+2
-2
LiteSql/LiteSql/Session/DBSession.cs
LiteSql/LiteSql/Session/DBSession.cs
+2
-2
LiteSql/LiteSql/Session/DBSessionFind.cs
LiteSql/LiteSql/Session/DBSessionFind.cs
+8
-8
LiteSql/LiteSql/Session/DBSessionFindList.cs
LiteSql/LiteSql/Session/DBSessionFindList.cs
+33
-7
LiteSql/LiteSql/Session/DBSessionFindListPage.cs
LiteSql/LiteSql/Session/DBSessionFindListPage.cs
+6
-6
LiteSql/LiteSql/Session/DBSessionUpdate.cs
LiteSql/LiteSql/Session/DBSessionUpdate.cs
+2
-2
LiteSql/LiteSql/Session/IDBSession.cs
LiteSql/LiteSql/Session/IDBSession.cs
+2
-2
LiteSql/LiteSql/Session/IDBSessionFind.cs
LiteSql/LiteSql/Session/IDBSessionFind.cs
+8
-8
LiteSql/LiteSql/Session/IDBSessionFindList.cs
LiteSql/LiteSql/Session/IDBSessionFindList.cs
+6
-6
LiteSql/LiteSql/Session/IDBSessionFindListPage.cs
LiteSql/LiteSql/Session/IDBSessionFindListPage.cs
+6
-6
LiteSql/LiteSql/Session/IDBSessionUpdate.cs
LiteSql/LiteSql/Session/IDBSessionUpdate.cs
+2
-2
LiteSql/LiteSql/SqlString/IQueryable.cs
LiteSql/LiteSql/SqlString/IQueryable.cs
+1
-1
LiteSql/LiteSql/SqlString/ISqlString.cs
LiteSql/LiteSql/SqlString/ISqlString.cs
+12
-12
LiteSql/LiteSql/SqlString/SqlQueryable.cs
LiteSql/LiteSql/SqlString/SqlQueryable.cs
+1
-1
LiteSql/LiteSql/SqlString/SqlString.cs
LiteSql/LiteSql/SqlString/SqlString.cs
+13
-13
LiteSql/LiteSqlTest/LiteSqlTest.csproj
LiteSql/LiteSqlTest/LiteSqlTest.csproj
+1
-0
LiteSql/LiteSqlTest/QueryTest.cs
LiteSql/LiteSqlTest/QueryTest.cs
+66
-0
LiteSql/LiteSqlTest/packages.config
LiteSql/LiteSqlTest/packages.config
+1
-0
未找到文件。
LiteSql/LiteSql/ILiteSqlClient.cs
浏览文件 @
8340096d
...
...
@@ -62,7 +62,7 @@ namespace LiteSql
/// <summary>
/// 创建SqlString对象
/// </summary>
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
)
where
T
:
new
()
;
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
);
#
endregion
#
region
创建
SqlQueryable
对象
...
...
@@ -70,7 +70,7 @@ namespace LiteSql
/// 创建IQueryable
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
ISqlQueryable
<
T
>
Queryable
<
T
>()
where
T
:
new
()
;
ISqlQueryable
<
T
>
Queryable
<
T
>();
#
endregion
#
region
查询下一个
ID
...
...
LiteSql/LiteSql/LiteSql.csproj
浏览文件 @
8340096d
...
...
@@ -6,9 +6,9 @@
<Nullable>disable</Nullable>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<Title>LiteSql</Title>
<AssemblyVersion>2.0.
6
</AssemblyVersion>
<FileVersion>2.0.
6
</FileVersion>
<Version>2.0.
6
</Version>
<AssemblyVersion>2.0.
7
</AssemblyVersion>
<FileVersion>2.0.
7
</FileVersion>
<Version>2.0.
7
</Version>
<PackageId>LiteSql</PackageId>
<PackageProjectUrl>https://github.com/0611163/LiteSql</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
...
...
@@ -20,12 +20,13 @@
</Description>
<PackageReleaseNotes>
更新内容:
1.
IDbSession接口增加Tran(当前数据库会话的事务)和Conn(当前数据库会话的数据库连接)属性
2.
IDbSession接口的BeginTransaction方法不再返回DbTransaction对象
1.
支持QueryList<dynamic>即返回值List<dynamic>类型
2.
移除接口的where T : new()限制,以支持QueryList<string>
</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
</ItemGroup>
...
...
LiteSql/LiteSql/LiteSqlClient.cs
浏览文件 @
8340096d
...
...
@@ -156,7 +156,7 @@ namespace LiteSql
/// <summary>
/// 创建SqlString对象
/// </summary>
public
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
)
where
T
:
new
()
public
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
)
{
var
session
=
GetSession
();
return
session
.
Sql
<
T
>(
sql
,
args
);
...
...
@@ -168,7 +168,7 @@ namespace LiteSql
/// 创建IQueryable
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
public
ISqlQueryable
<
T
>
Queryable
<
T
>()
where
T
:
new
()
public
ISqlQueryable
<
T
>
Queryable
<
T
>()
{
var
session
=
GetSession
();
return
session
.
Queryable
<
T
>();
...
...
LiteSql/LiteSql/Session/DBSession.cs
浏览文件 @
8340096d
...
...
@@ -135,7 +135,7 @@ namespace LiteSql
/// <summary>
/// 创建SqlString对象
/// </summary>
public
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
)
where
T
:
new
()
public
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
)
{
return
new
SqlString
<
T
>(
_provider
,
this
,
sql
,
args
);
}
...
...
@@ -146,7 +146,7 @@ namespace LiteSql
/// 创建IQueryable
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
public
ISqlQueryable
<
T
>
Queryable
<
T
>()
where
T
:
new
()
public
ISqlQueryable
<
T
>
Queryable
<
T
>()
{
SqlQueryable
<
T
>
sqlString
=
new
SqlQueryable
<
T
>(
_provider
,
this
,
null
);
return
sqlString
.
Queryable
();
...
...
LiteSql/LiteSql/Session/DBSessionFind.cs
浏览文件 @
8340096d
...
...
@@ -16,7 +16,7 @@ namespace LiteSql
/// <summary>
/// 根据Id查询实体
/// </summary>
public
T
QueryById
<
T
>(
object
id
)
where
T
:
new
()
public
T
QueryById
<
T
>(
object
id
)
{
Type
type
=
typeof
(
T
);
...
...
@@ -45,7 +45,7 @@ namespace LiteSql
/// <summary>
/// 根据Id查询实体
/// </summary>
public
async
Task
<
T
>
QueryByIdAsync
<
T
>(
object
id
)
where
T
:
new
()
public
async
Task
<
T
>
QueryByIdAsync
<
T
>(
object
id
)
{
Type
type
=
typeof
(
T
);
...
...
@@ -75,7 +75,7 @@ namespace LiteSql
/// <summary>
/// 根据sql查询实体
/// </summary>
public
T
Query
<
T
>(
string
sql
)
where
T
:
new
()
public
T
Query
<
T
>(
string
sql
)
{
Type
type
=
typeof
(
T
);
object
result
=
Find
(
type
,
sql
,
null
);
...
...
@@ -95,7 +95,7 @@ namespace LiteSql
/// <summary>
/// 根据sql查询实体
/// </summary>
public
async
Task
<
T
>
QueryAsync
<
T
>(
string
sql
)
where
T
:
new
()
public
async
Task
<
T
>
QueryAsync
<
T
>(
string
sql
)
{
Type
type
=
typeof
(
T
);
object
result
=
await
FindAsync
(
type
,
sql
,
null
);
...
...
@@ -116,7 +116,7 @@ namespace LiteSql
/// <summary>
/// 根据sql查询实体
/// </summary>
public
T
Query
<
T
>(
string
sql
,
DbParameter
[]
args
)
where
T
:
new
()
public
T
Query
<
T
>(
string
sql
,
DbParameter
[]
args
)
{
Type
type
=
typeof
(
T
);
object
result
=
Find
(
type
,
sql
,
args
);
...
...
@@ -136,7 +136,7 @@ namespace LiteSql
/// <summary>
/// 根据sql查询实体
/// </summary>
public
async
Task
<
T
>
QueryAsync
<
T
>(
string
sql
,
DbParameter
[]
args
)
where
T
:
new
()
public
async
Task
<
T
>
QueryAsync
<
T
>(
string
sql
,
DbParameter
[]
args
)
{
Type
type
=
typeof
(
T
);
object
result
=
await
FindAsync
(
type
,
sql
,
args
);
...
...
@@ -157,7 +157,7 @@ namespace LiteSql
/// <summary>
/// 根据sql查询实体
/// </summary>
public
T
Query
<
T
>(
ISqlString
sql
)
where
T
:
new
()
public
T
Query
<
T
>(
ISqlString
sql
)
{
return
Query
<
T
>(
sql
.
SQL
,
sql
.
Params
);
}
...
...
@@ -165,7 +165,7 @@ namespace LiteSql
/// <summary>
/// 根据sql查询实体
/// </summary>
public
Task
<
T
>
QueryAsync
<
T
>(
ISqlString
sql
)
where
T
:
new
()
public
Task
<
T
>
QueryAsync
<
T
>(
ISqlString
sql
)
{
return
QueryAsync
<
T
>(
sql
.
SQL
,
sql
.
Params
);
}
...
...
LiteSql/LiteSql/Session/DBSessionFindList.cs
浏览文件 @
8340096d
...
...
@@ -2,6 +2,7 @@
using
System.Collections.Generic
;
using
System.Data
;
using
System.Data.Common
;
using
System.Dynamic
;
using
System.Linq
;
using
System.Reflection
;
using
System.Text
;
...
...
@@ -15,7 +16,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
List
<
T
>
QueryList
<
T
>(
string
sql
)
where
T
:
new
()
public
List
<
T
>
QueryList
<
T
>(
string
sql
)
{
SqlFilter
(
ref
sql
);
OnExecuting
?.
Invoke
(
sql
,
null
);
...
...
@@ -42,7 +43,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
)
where
T
:
new
()
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
)
{
SqlFilter
(
ref
sql
);
OnExecuting
?.
Invoke
(
sql
,
null
);
...
...
@@ -70,7 +71,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
List
<
T
>
QueryList
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
public
List
<
T
>
QueryList
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
{
OnExecuting
?.
Invoke
(
sql
,
cmdParms
);
...
...
@@ -96,7 +97,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
public
async
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
{
OnExecuting
?.
Invoke
(
sql
,
cmdParms
);
...
...
@@ -122,7 +123,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
List
<
T
>
QueryList
<
T
>(
ISqlString
sql
)
where
T
:
new
()
public
List
<
T
>
QueryList
<
T
>(
ISqlString
sql
)
{
return
QueryList
<
T
>(
sql
.
SQL
,
sql
.
Params
);
}
...
...
@@ -130,7 +131,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
ISqlString
sql
)
where
T
:
new
()
public
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
ISqlString
sql
)
{
return
QueryListAsync
<
T
>(
sql
.
SQL
,
sql
.
Params
);
}
...
...
@@ -141,7 +142,7 @@ namespace LiteSql
/// <summary>
/// DataReaderToList
/// </summary>
private
List
<
T
>
DataReaderToList
<
T
>(
IDataReader
rd
)
where
T
:
new
()
private
List
<
T
>
DataReaderToList
<
T
>(
IDataReader
rd
)
{
List
<
T
>
list
=
new
List
<
T
>();
...
...
@@ -159,6 +160,31 @@ namespace LiteSql
list
.
Add
((
T
)
rd
[
0
]);
}
}
else
if
(
typeof
(
T
)
==
typeof
(
object
))
//支持QueryList<dynamic>即返回值List<dynamic>类型
{
int
fcnt
=
rd
.
FieldCount
;
Dictionary
<
string
,
int
>
fields
=
new
Dictionary
<
string
,
int
>();
for
(
int
i
=
0
;
i
<
fcnt
;
i
++)
{
string
field
=
rd
.
GetName
(
i
);
if
(!
fields
.
ContainsKey
(
field
))
{
fields
.
Add
(
field
,
i
);
}
}
while
(
rd
.
Read
())
{
dynamic
obj
=
new
ExpandoObject
();
foreach
(
string
field
in
fields
.
Keys
)
{
((
IDictionary
<
string
,
object
>)
obj
).
Add
(
field
,
rd
[
fields
[
field
]]);
}
list
.
Add
(
obj
);
}
}
else
{
PropertyInfoEx
[]
propertyInfoList
=
GetEntityProperties
(
typeof
(
T
));
...
...
LiteSql/LiteSql/Session/DBSessionFindListPage.cs
浏览文件 @
8340096d
...
...
@@ -14,7 +14,7 @@ namespace LiteSql
/// <summary>
/// 分页查询列表
/// </summary>
public
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
{
sql
=
_provider
.
CreatePageSql
(
sql
,
orderby
,
pageSize
,
currentPage
);
...
...
@@ -26,7 +26,7 @@ namespace LiteSql
/// <summary>
/// 分页查询列表
/// </summary>
public
async
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
async
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
{
sql
=
_provider
.
CreatePageSql
(
sql
,
orderby
,
pageSize
,
currentPage
);
...
...
@@ -38,7 +38,7 @@ namespace LiteSql
/// <summary>
/// 分页查询列表
/// </summary>
public
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
public
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
)
{
sql
=
_provider
.
CreatePageSql
(
sql
,
orderby
,
pageSize
,
currentPage
);
...
...
@@ -48,7 +48,7 @@ namespace LiteSql
/// <summary>
/// 分页查询列表
/// </summary>
public
async
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
public
async
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
)
{
sql
=
_provider
.
CreatePageSql
(
sql
,
orderby
,
pageSize
,
currentPage
);
...
...
@@ -60,7 +60,7 @@ namespace LiteSql
/// <summary>
/// 分页查询列表
/// </summary>
public
List
<
T
>
QueryPage
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
List
<
T
>
QueryPage
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
{
return
QueryPage
<
T
>(
sql
.
SQL
,
orderby
,
pageSize
,
currentPage
,
sql
.
Params
);
}
...
...
@@ -68,7 +68,7 @@ namespace LiteSql
/// <summary>
/// 分页查询列表
/// </summary>
public
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
{
return
QueryPageAsync
<
T
>(
sql
.
SQL
,
orderby
,
pageSize
,
currentPage
,
sql
.
Params
);
}
...
...
LiteSql/LiteSql/Session/DBSessionUpdate.cs
浏览文件 @
8340096d
...
...
@@ -23,7 +23,7 @@ namespace LiteSql
/// <summary>
/// 附加更新前的旧实体,只更新数据发生变化的字段
/// </summary>
public
void
AttachOld
<
T
>(
T
obj
)
where
T
:
new
()
public
void
AttachOld
<
T
>(
T
obj
)
{
if
(
_oldObjs
.
ContainsKey
(
obj
))
{
...
...
@@ -42,7 +42,7 @@ namespace LiteSql
/// <summary>
/// 附加更新前的旧实体,只更新数据发生变化的字段
/// </summary>
public
void
AttachOld
<
T
>(
List
<
T
>
objList
)
where
T
:
new
()
public
void
AttachOld
<
T
>(
List
<
T
>
objList
)
{
foreach
(
T
obj
in
objList
)
{
...
...
LiteSql/LiteSql/Session/IDBSession.cs
浏览文件 @
8340096d
...
...
@@ -45,7 +45,7 @@ namespace LiteSql
/// <summary>
/// 创建SqlString对象
/// </summary>
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
)
where
T
:
new
()
;
ISqlString
<
T
>
Sql
<
T
>(
string
sql
=
null
,
params
object
[]
args
);
#
endregion
#
region
创建
SqlQueryable
对象
...
...
@@ -53,7 +53,7 @@ namespace LiteSql
/// 创建IQueryable
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
ISqlQueryable
<
T
>
Queryable
<
T
>()
where
T
:
new
()
;
ISqlQueryable
<
T
>
Queryable
<
T
>();
#
endregion
#
region
查询下一个
ID
...
...
LiteSql/LiteSql/Session/IDBSessionFind.cs
浏览文件 @
8340096d
...
...
@@ -13,48 +13,48 @@ namespace LiteSql
/// <summary>
/// 根据Id查询实体
/// </summary>
T
QueryById
<
T
>(
object
id
)
where
T
:
new
()
;
T
QueryById
<
T
>(
object
id
);
/// <summary>
/// 根据Id查询实体
/// </summary>
Task
<
T
>
QueryByIdAsync
<
T
>(
object
id
)
where
T
:
new
()
;
Task
<
T
>
QueryByIdAsync
<
T
>(
object
id
);
#
endregion
#
region
根据
sql
查询实体
/// <summary>
/// 根据sql查询实体
/// </summary>
T
Query
<
T
>(
string
sql
)
where
T
:
new
()
;
T
Query
<
T
>(
string
sql
);
/// <summary>
/// 根据sql查询实体
/// </summary>
Task
<
T
>
QueryAsync
<
T
>(
string
sql
)
where
T
:
new
()
;
Task
<
T
>
QueryAsync
<
T
>(
string
sql
);
#
endregion
#
region
根据
sql
查询实体
(
参数化查询
)
/// <summary>
/// 根据sql查询实体
/// </summary>
T
Query
<
T
>(
string
sql
,
DbParameter
[]
args
)
where
T
:
new
()
;
T
Query
<
T
>(
string
sql
,
DbParameter
[]
args
);
/// <summary>
/// 根据sql查询实体
/// </summary>
Task
<
T
>
QueryAsync
<
T
>(
string
sql
,
DbParameter
[]
args
)
where
T
:
new
()
;
Task
<
T
>
QueryAsync
<
T
>(
string
sql
,
DbParameter
[]
args
);
#
endregion
#
region
根据
sql
查询实体
(
传
SqlString
)
/// <summary>
/// 根据sql查询实体
/// </summary>
T
Query
<
T
>(
ISqlString
sql
)
where
T
:
new
()
;
T
Query
<
T
>(
ISqlString
sql
);
/// <summary>
/// 根据sql查询实体
/// </summary>
Task
<
T
>
QueryAsync
<
T
>(
ISqlString
sql
)
where
T
:
new
()
;
Task
<
T
>
QueryAsync
<
T
>(
ISqlString
sql
);
#
endregion
}
...
...
LiteSql/LiteSql/Session/IDBSessionFindList.cs
浏览文件 @
8340096d
...
...
@@ -13,36 +13,36 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
List
<
T
>
QueryList
<
T
>(
string
sql
)
where
T
:
new
()
;
List
<
T
>
QueryList
<
T
>(
string
sql
);
/// <summary>
/// 查询列表
/// </summary>
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
)
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
);
#
endregion
#
region
查询列表
(
参数化查询
)
/// <summary>
/// 查询列表
/// </summary>
List
<
T
>
QueryList
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
;
List
<
T
>
QueryList
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
);
/// <summary>
/// 查询列表
/// </summary>
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
string
sql
,
DbParameter
[]
cmdParms
);
#
endregion
#
region
查询列表
(
传
SqlString
)
/// <summary>
/// 查询列表
/// </summary>
List
<
T
>
QueryList
<
T
>(
ISqlString
sql
)
where
T
:
new
()
;
List
<
T
>
QueryList
<
T
>(
ISqlString
sql
);
/// <summary>
/// 查询列表
/// </summary>
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
ISqlString
sql
)
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryListAsync
<
T
>(
ISqlString
sql
);
#
endregion
}
...
...
LiteSql/LiteSql/Session/IDBSessionFindListPage.cs
浏览文件 @
8340096d
...
...
@@ -14,36 +14,36 @@ namespace LiteSql
/// <summary>
/// 分页查询列表
/// </summary>
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
);
/// <summary>
/// 分页查询列表
/// </summary>
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
);
#
endregion
#
region
分页查询列表
(
参数化查询
)
/// <summary>
/// 分页查询列表
/// </summary>
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
;
List
<
T
>
QueryPage
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
);
/// <summary>
/// 分页查询列表
/// </summary>
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
)
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
,
DbParameter
[]
cmdParms
);
#
endregion
#
region
分页查询列表
(
传
SqlString
)
/// <summary>
/// 分页查询列表
/// </summary>
List
<
T
>
QueryPage
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
List
<
T
>
QueryPage
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
);
/// <summary>
/// 分页查询列表
/// </summary>
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
ISqlString
sql
,
string
orderby
,
int
pageSize
,
int
currentPage
);
#
endregion
}
...
...
LiteSql/LiteSql/Session/IDBSessionUpdate.cs
浏览文件 @
8340096d
...
...
@@ -41,11 +41,11 @@ namespace LiteSql
/// <summary>
/// 附加更新前的旧数据,只更新数据发生变化的字段
/// </summary>
void
AttachOld
<
T
>(
T
obj
)
where
T
:
new
()
;
void
AttachOld
<
T
>(
T
obj
);
/// <summary>
/// 附加更新前的旧数据,只更新数据发生变化的字段
/// </summary>
void
AttachOld
<
T
>(
List
<
T
>
objList
)
where
T
:
new
()
;
void
AttachOld
<
T
>(
List
<
T
>
objList
);
}
}
LiteSql/LiteSql/SqlString/IQueryable.cs
浏览文件 @
8340096d
...
...
@@ -13,7 +13,7 @@ namespace LiteSql
/// <summary>
/// 查询接口
/// </summary>
public
interface
ISqlQueryable
<
T
>
where
T
:
new
()
public
interface
ISqlQueryable
<
T
>
{
#
region
变量
/// <summary>
...
...
LiteSql/LiteSql/SqlString/ISqlString.cs
浏览文件 @
8340096d
...
...
@@ -164,32 +164,32 @@ namespace LiteSql
/// <summary>
/// 返回第一行的值,不存在则返回null
/// </summary>
T
First
<
T
>()
where
T
:
new
()
;
T
First
<
T
>();
/// <summary>
/// 返回第一行的值,不存在则返回null
/// </summary>
Task
<
T
>
FirstAsync
<
T
>()
where
T
:
new
()
;
Task
<
T
>
FirstAsync
<
T
>();
/// <summary>
/// 查询列表
/// </summary>
List
<
T
>
ToList
<
T
>()
where
T
:
new
()
;
List
<
T
>
ToList
<
T
>();
/// <summary>
/// 查询列表
/// </summary>
Task
<
List
<
T
>>
ToListAsync
<
T
>()
where
T
:
new
()
;
Task
<
List
<
T
>>
ToListAsync
<
T
>();
/// <summary>
/// 分页查询
/// </summary>
List
<
T
>
ToPageList
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
List
<
T
>
ToPageList
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
);
/// <summary>
/// 分页查询
/// </summary>
Task
<
List
<
T
>>
ToPageListAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
Task
<
List
<
T
>>
ToPageListAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
);
/// <summary>
/// 条件删除
...
...
@@ -277,37 +277,37 @@ namespace LiteSql
/// 查询实体
/// </summary>
[
Obsolete
]
T
Query
<
T
>()
where
T
:
new
()
;
T
Query
<
T
>();
/// <summary>
/// 查询实体
/// </summary>
[
Obsolete
]
Task
<
T
>
QueryAsync
<
T
>()
where
T
:
new
()
;
Task
<
T
>
QueryAsync
<
T
>();
/// <summary>
/// 查询列表
/// </summary>
[
Obsolete
]
List
<
T
>
QueryList
<
T
>()
where
T
:
new
()
;
List
<
T
>
QueryList
<
T
>();
/// <summary>
/// 查询列表
/// </summary>
[
Obsolete
]
Task
<
List
<
T
>>
QueryListAsync
<
T
>()
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryListAsync
<
T
>();
/// <summary>
/// 分页查询
/// </summary>
[
Obsolete
]
List
<
T
>
QueryPage
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
List
<
T
>
QueryPage
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
);
/// <summary>
/// 分页查询
/// </summary>
[
Obsolete
]
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
;
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
);
/// <summary>
/// 条件删除
...
...
LiteSql/LiteSql/SqlString/SqlQueryable.cs
浏览文件 @
8340096d
...
...
@@ -12,7 +12,7 @@ namespace LiteSql
/// <summary>
/// SQL字符串类
/// </summary>
public
class
SqlQueryable
<
T
>
:
ISqlQueryable
<
T
>
where
T
:
new
()
public
class
SqlQueryable
<
T
>
:
ISqlQueryable
<
T
>
{
#
region
变量
private
SqlString
_sqlString
;
...
...
LiteSql/LiteSql/SqlString/SqlString.cs
浏览文件 @
8340096d
...
...
@@ -15,7 +15,7 @@ namespace LiteSql
/// <summary>
/// 参数化查询SQL字符串
/// </summary>
public
class
SqlString
<
T
>
:
SqlString
,
ISqlString
<
T
>
where
T
:
new
()
public
class
SqlString
<
T
>
:
SqlString
,
ISqlString
<
T
>
{
#
region
构造函数
public
SqlString
(
IProvider
provider
,
IDbSession
session
,
string
sql
=
null
,
params
object
[]
args
)
:
base
(
provider
,
session
,
sql
,
args
)
...
...
@@ -614,7 +614,7 @@ namespace LiteSql
/// <summary>
/// 返回第一行的值,不存在则返回null
/// </summary>
public
T
First
<
T
>()
where
T
:
new
()
public
T
First
<
T
>()
{
return
_session
.
Query
<
T
>(
this
);
}
...
...
@@ -622,7 +622,7 @@ namespace LiteSql
/// <summary>
/// 返回第一行的值,不存在则返回null
/// </summary>
public
Task
<
T
>
FirstAsync
<
T
>()
where
T
:
new
()
public
Task
<
T
>
FirstAsync
<
T
>()
{
return
_session
.
QueryAsync
<
T
>(
this
);
}
...
...
@@ -630,7 +630,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
List
<
T
>
ToList
<
T
>()
where
T
:
new
()
public
List
<
T
>
ToList
<
T
>()
{
return
_session
.
QueryList
<
T
>(
this
);
}
...
...
@@ -638,7 +638,7 @@ namespace LiteSql
/// <summary>
/// 查询列表
/// </summary>
public
Task
<
List
<
T
>>
ToListAsync
<
T
>()
where
T
:
new
()
public
Task
<
List
<
T
>>
ToListAsync
<
T
>()
{
return
_session
.
QueryListAsync
<
T
>(
this
);
}
...
...
@@ -646,7 +646,7 @@ namespace LiteSql
/// <summary>
/// 分页查询
/// </summary>
public
List
<
T
>
ToPageList
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
List
<
T
>
ToPageList
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
{
return
_session
.
QueryPage
<
T
>(
this
,
orderby
,
pageSize
,
currentPage
);
}
...
...
@@ -654,7 +654,7 @@ namespace LiteSql
/// <summary>
/// 分页查询
/// </summary>
public
Task
<
List
<
T
>>
ToPageListAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
Task
<
List
<
T
>>
ToPageListAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
{
return
_session
.
QueryPageAsync
<
T
>(
this
,
orderby
,
pageSize
,
currentPage
);
}
...
...
@@ -794,7 +794,7 @@ namespace LiteSql
/// 查询实体
/// </summary>
[
Obsolete
]
public
T
Query
<
T
>()
where
T
:
new
()
public
T
Query
<
T
>()
{
return
_session
.
Query
<
T
>(
this
);
}
...
...
@@ -803,7 +803,7 @@ namespace LiteSql
/// 查询实体
/// </summary>
[
Obsolete
]
public
Task
<
T
>
QueryAsync
<
T
>()
where
T
:
new
()
public
Task
<
T
>
QueryAsync
<
T
>()
{
return
_session
.
QueryAsync
<
T
>(
this
);
}
...
...
@@ -812,7 +812,7 @@ namespace LiteSql
/// 查询列表
/// </summary>
[
Obsolete
]
public
List
<
T
>
QueryList
<
T
>()
where
T
:
new
()
public
List
<
T
>
QueryList
<
T
>()
{
return
_session
.
QueryList
<
T
>(
this
);
}
...
...
@@ -821,7 +821,7 @@ namespace LiteSql
/// 查询列表
/// </summary>
[
Obsolete
]
public
Task
<
List
<
T
>>
QueryListAsync
<
T
>()
where
T
:
new
()
public
Task
<
List
<
T
>>
QueryListAsync
<
T
>()
{
return
_session
.
QueryListAsync
<
T
>(
this
);
}
...
...
@@ -830,7 +830,7 @@ namespace LiteSql
/// 分页查询
/// </summary>
[
Obsolete
]
public
List
<
T
>
QueryPage
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
List
<
T
>
QueryPage
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
{
return
_session
.
QueryPage
<
T
>(
this
,
orderby
,
pageSize
,
currentPage
);
}
...
...
@@ -839,7 +839,7 @@ namespace LiteSql
/// 分页查询
/// </summary>
[
Obsolete
]
public
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
where
T
:
new
()
public
Task
<
List
<
T
>>
QueryPageAsync
<
T
>(
string
orderby
,
int
pageSize
,
int
currentPage
)
{
return
_session
.
QueryPageAsync
<
T
>(
this
,
orderby
,
pageSize
,
currentPage
);
}
...
...
LiteSql/LiteSqlTest/LiteSqlTest.csproj
浏览文件 @
8340096d
...
...
@@ -39,6 +39,7 @@
<Reference
Include=
"Dapper, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"
>
<HintPath>
..\packages\Dapper.2.0.123\lib\net461\Dapper.dll
</HintPath>
</Reference>
<Reference
Include=
"Microsoft.CSharp"
/>
<Reference
Include=
"System"
/>
<Reference
Include=
"System.Configuration"
/>
<Reference
Include=
"System.Data"
/>
...
...
LiteSql/LiteSqlTest/QueryTest.cs
浏览文件 @
8340096d
...
...
@@ -338,5 +338,71 @@ namespace LiteSqlTest
}
#
endregion
#
region
测试
List
<
string
>
类型
[
TestMethod
]
public
void
TestListString
()
{
var
session
=
LiteSqlFactory
.
GetSession
();
session
.
OnExecuting
=
(
s
,
p
)
=>
{
Console
.
WriteLine
(
s
);
};
var
sql
=
session
.
Sql
(
"select user_name from sys_user where id<=@Id"
,
20
);
List
<
string
>
list
=
session
.
QueryList
<
string
>(
sql
.
SQL
,
sql
.
Params
);
foreach
(
string
item
in
list
)
{
Console
.
WriteLine
(
$"
{
item
}
"
);
}
Assert
.
IsTrue
(
list
.
Count
>
0
);
}
#
endregion
#
region
测试
Dynamic
类型
[
TestMethod
]
public
void
TestDynamic
()
{
var
session
=
LiteSqlFactory
.
GetSession
();
session
.
OnExecuting
=
(
s
,
p
)
=>
{
Console
.
WriteLine
(
s
);
};
var
sql
=
session
.
Sql
(
"select user_name from sys_user where id<=@Id"
,
20
);
List
<
dynamic
>
list
=
session
.
QueryList
<
dynamic
>(
sql
.
SQL
,
sql
.
Params
);
foreach
(
var
item
in
list
)
{
Console
.
WriteLine
(
$"
{
item
.
user_name
}
"
);
}
Assert
.
IsTrue
(
list
.
Count
>
0
);
}
#
endregion
#
region
测试
Dynamic
类型
[
TestMethod
]
public
void
TestDynamic2
()
{
var
session
=
LiteSqlFactory
.
GetSession
();
session
.
OnExecuting
=
(
s
,
p
)
=>
{
Console
.
WriteLine
(
s
);
};
var
sql
=
session
.
Sql
(
"select user_name, real_name, remark from sys_user where id<=@Id"
,
20
);
List
<
dynamic
>
list
=
session
.
QueryList
<
dynamic
>(
sql
.
SQL
,
sql
.
Params
);
foreach
(
var
item
in
list
)
{
Console
.
WriteLine
(
$"
{
item
.
user_name
}
,
{
item
.
real_name
}
,
{
item
.
remark
}
"
);
}
Assert
.
IsTrue
(
list
.
Count
>
0
);
}
#
endregion
}
}
LiteSql/LiteSqlTest/packages.config
浏览文件 @
8340096d
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
package
id
=
"Dapper"
version
=
"2.0.123"
targetFramework
=
"net461"
/>
<
package
id
=
"Microsoft.CSharp"
version
=
"4.7.0"
targetFramework
=
"net461"
/>
</
packages
>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录