Skip to content

Commit

Permalink
GridReader IAsyncDisposable
Browse files Browse the repository at this point in the history
  • Loading branch information
ZeeLyn committed Jul 25, 2023
1 parent ebc1aad commit 78048c3
Show file tree
Hide file tree
Showing 13 changed files with 384 additions and 160 deletions.
2 changes: 1 addition & 1 deletion build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
///////////////////////////////////////////////////////////////////////////////

var output=Argument<string>("output", "./Output");
var version=Argument<string>("version", "4.2.3");
var version=Argument<string>("version", "4.2.4");
var target = Argument<string>("target", "Default");
var release = Argument<bool>("release", true);
var nugetApiKey = Argument<string>("nugetApiKey", null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<PackageId>Dapper.Extensions.Caching.Memory</PackageId>
<Description>A dapper extension library. Support MySQL,SQL Server,PostgreSQL,SQLite and ODBC, Support cache.</Description>
<icon>https://raw.githubusercontent.com/DapperLib/Dapper/main/Dapper.png</icon>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<Authors>Owen</Authors>
<PackageTags>Dapper,Dapper Extensions,DapperExtensions,Dapper.Extensions.NetCore,Extensions,DataBase,Sql Server,MSSQL,MySQL,PostgreSQL,SQLite,ODBC,Cahce,Caching,Redis,Memory,RedisCaching,MemoryCaching</PackageTags>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<PackageId>Dapper.Extensions.Caching.Redis</PackageId>
<Description>A dapper extension library. Support MySQL,SQL Server,PostgreSQL,SQLite and ODBC, Support cache.</Description>
<icon>https://raw.githubusercontent.com/DapperLib/Dapper/main/Dapper.png</icon>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<Authors>Owen</Authors>
<PackageTags>Dapper,Dapper Extensions,DapperExtensions,Dapper.Extensions.NetCore,Extensions,DataBase,Sql Server,MSSQL,MySQL,PostgreSQL,SQLite,ODBC,Cahce,Caching,Redis,Memory,RedisCaching,MemoryCaching</PackageTags>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
Expand Down
2 changes: 1 addition & 1 deletion src/Dapper.Extensions.MSSQL/Dapper.Extensions.MSSQL.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>netstandard2.0;net5.0;net6.0;net7.0</TargetFrameworks>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<Description>A dapper extension library. Support MySQL,SQL Server,PostgreSQL,SQLite and ODBC, Support cache.</Description>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/ZeeLyn/Dapper.Extensions</PackageProjectUrl>
Expand Down
36 changes: 26 additions & 10 deletions src/Dapper.Extensions.MSSQL/MsSqlDapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ namespace Dapper.Extensions.MSSQL
{
public class MsSqlDapper : BaseDapper<SqlConnection>
{
public MsSqlDapper(IServiceProvider service, string connectionName = "DefaultConnection", bool enableMasterSlave = false, bool readOnly = false) : base(service, connectionName, enableMasterSlave, readOnly)
public MsSqlDapper(IServiceProvider service, string connectionName = "DefaultConnection",
bool enableMasterSlave = false, bool readOnly = false) : base(service, connectionName, enableMasterSlave,
readOnly)
{
}

public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string countSql, string dataSql, int pageindex, int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string countSql, string dataSql,
int pageindex, int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default,
TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand All @@ -32,7 +36,11 @@ public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string c
var sql = $"{countSql}{(countSql.EndsWith(";") ? "" : ";")}{dataSql}";
return await CommandExecuteAsync(enableCache, async () =>
{
#if NET5_0_OR_GREATER
await using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#else
using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#endif
var count = (await multi.ReadAsync<int>()).FirstOrDefault();
var data = (await multi.ReadAsync<TReturn>()).ToList();
var result = new PageResult<TReturn>
Expand All @@ -51,8 +59,10 @@ public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string c
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);
}

public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql, string dataSql, int pageindex, int pageSize, object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql, string dataSql, int pageindex,
int pageSize, object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default,
string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand All @@ -72,7 +82,11 @@ public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql,
var sql = $"{countSql}{(countSql.EndsWith(";") ? "" : ";")}{dataSql}";
return await CommandExecuteAsync(enableCache, async () =>
{
#if NET5_0_OR_GREATER
await using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#else
using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#endif
var count = (await multi.ReadAsync<int>()).FirstOrDefault();
var data = (await multi.ReadAsync()).ToList();
var result = new PageResult<dynamic>
Expand All @@ -89,10 +103,11 @@ public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql,
result.Page = result.TotalPage;
return result;
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);

}

public override PageResult<TReturn> QueryPage<TReturn>(string countSql, string dataSql, int pageindex, int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override PageResult<TReturn> QueryPage<TReturn>(string countSql, string dataSql, int pageindex,
int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default,
TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand Down Expand Up @@ -132,8 +147,10 @@ public override PageResult<TReturn> QueryPage<TReturn>(string countSql, string d
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);
}

public override PageResult<dynamic> QueryPage(string countSql, string dataSql, int pageindex, int pageSize, object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override PageResult<dynamic> QueryPage(string countSql, string dataSql, int pageindex, int pageSize,
object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default,
string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand Down Expand Up @@ -171,7 +188,6 @@ public override PageResult<dynamic> QueryPage(string countSql, string dataSql, i
result.Page = result.TotalPage;
return result;
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);

}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<TargetFrameworks>netstandard2.0;net5.0;net6.0;net7.0</TargetFrameworks>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<Authors>Owen</Authors>
<Description>A dapper extension library. Support MySQL,SQL Server,PostgreSQL,SQLite and ODBC, Support cache.</Description>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
Expand Down
2 changes: 1 addition & 1 deletion src/Dapper.Extensions.MySql/Dapper.Extensions.MySql.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<icon>https://raw.githubusercontent.com/DapperLib/Dapper/main/Dapper.png</icon>
<Authors>Owen</Authors>
<Company>Owen</Company>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<PackageTags>Dapper,Dapper Extensions,DapperExtensions,Dapper.Extensions.NetCore,Extensions,DataBase,Sql Server,MSSQL,MySQL,PostgreSQL,SQLite,ODBC,Cahce,Caching,Redis,Memory,RedisCaching,MemoryCaching</PackageTags>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageId>Dapper.Extensions.MySQL</PackageId>
Expand Down
2 changes: 1 addition & 1 deletion src/Dapper.Extensions.Odbc/Dapper.Extensions.Odbc.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<PackageTags>Dapper,Dapper Extensions,DapperExtensions,Dapper.Extensions.NetCore,Extensions,DataBase,Sql Server,MSSQL,MySQL,PostgreSQL,SQLite,ODBC,Cahce,Caching,Redis,Memory,RedisCaching,MemoryCaching</PackageTags>
<icon>https://raw.githubusercontent.com/DapperLib/Dapper/main/Dapper.png</icon>
<Authors>Owen</Authors>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageId>Dapper.Extensions.ODBC</PackageId>
<Product>Dapper.Extensions.ODBC</Product>
Expand Down
36 changes: 26 additions & 10 deletions src/Dapper.Extensions.Odbc/OdbcDapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ namespace Dapper.Extensions.Odbc
{
public class OdbcDapper : BaseDapper<OdbcConnection>
{
public OdbcDapper(IServiceProvider service, string connectionName = "DefaultConnection", bool enableMasterSlave = false, bool readOnly = false) : base(service, connectionName, enableMasterSlave, readOnly)
public OdbcDapper(IServiceProvider service, string connectionName = "DefaultConnection",
bool enableMasterSlave = false, bool readOnly = false) : base(service, connectionName, enableMasterSlave,
readOnly)
{
}

public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string countSql, string dataSql, int pageindex, int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string countSql, string dataSql,
int pageindex, int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default,
TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand All @@ -32,7 +36,11 @@ public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string c
var sql = $"{countSql}{(countSql.EndsWith(";") ? "" : ";")}{dataSql}";
return await CommandExecuteAsync(enableCache, async () =>
{
#if NET5_0_OR_GREATER
await using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#else
using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#endif
var count = (await multi.ReadAsync<int>()).FirstOrDefault();
var data = (await multi.ReadAsync<TReturn>()).ToList();
var result = new PageResult<TReturn>
Expand All @@ -51,8 +59,10 @@ public override async Task<PageResult<TReturn>> QueryPageAsync<TReturn>(string c
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);
}

public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql, string dataSql, int pageindex, int pageSize, object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql, string dataSql, int pageindex,
int pageSize, object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default,
string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand All @@ -72,7 +82,11 @@ public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql,
var sql = $"{countSql}{(countSql.EndsWith(";") ? "" : ";")}{dataSql}";
return await CommandExecuteAsync(enableCache, async () =>
{
#if NET5_0_OR_GREATER
await using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#else
using var multi = await Conn.Value.QueryMultipleAsync(sql, pars, Transaction, commandTimeout);
#endif
var count = (await multi.ReadAsync<int>()).FirstOrDefault();
var data = (await multi.ReadAsync()).ToList();
var result = new PageResult<dynamic>
Expand All @@ -89,10 +103,11 @@ public override async Task<PageResult<dynamic>> QueryPageAsync(string countSql,
result.Page = result.TotalPage;
return result;
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);

}

public override PageResult<TReturn> QueryPage<TReturn>(string countSql, string dataSql, int pageindex, int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override PageResult<TReturn> QueryPage<TReturn>(string countSql, string dataSql, int pageindex,
int pageSize, object param = null, int? commandTimeout = null, bool? enableCache = default,
TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand Down Expand Up @@ -131,8 +146,10 @@ public override PageResult<TReturn> QueryPage<TReturn>(string countSql, string d
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);
}

public override PageResult<dynamic> QueryPage(string countSql, string dataSql, int pageindex, int pageSize, object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default, string cacheKey = default, bool forceUpdateCache = false)
public override PageResult<dynamic> QueryPage(string countSql, string dataSql, int pageindex, int pageSize,
object param = null,
int? commandTimeout = null, bool? enableCache = default, TimeSpan? cacheExpire = default,
string cacheKey = default, bool forceUpdateCache = false)
{
if (pageindex < 1)
throw new ArgumentException("The pageindex cannot be less then 1.");
Expand Down Expand Up @@ -169,7 +186,6 @@ public override PageResult<dynamic> QueryPage(string countSql, string dataSql, i
result.Page = result.TotalPage;
return result;
}, sql, pars, cacheKey, cacheExpire, forceUpdateCache, pageindex, pageSize);

}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<RepositoryUrl />
<icon>https://raw.githubusercontent.com/DapperLib/Dapper/main/Dapper.png</icon>
<PackageTags>Dapper,Dapper Extensions,DapperExtensions,Dapper.Extensions.NetCore,Extensions,DataBase,Sql Server,MSSQL,MySQL,PostgreSQL,SQLite,ODBC,Cahce,Caching,Redis,Memory,RedisCaching,MemoryCaching</PackageTags>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<Authors>Owen</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageId>Dapper.Extensions.PostgreSQL</PackageId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<RepositoryUrl></RepositoryUrl>
<Description>A dapper extension library. Support MySQL,SQL Server,PostgreSQL,SQLite and ODBC, Support cache.</Description>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Version>4.2.3</Version>
<Version>4.2.4</Version>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Authors>Owen</Authors>
<LangVersion>latest</LangVersion>
Expand Down
Loading

0 comments on commit 78048c3

Please sign in to comment.