mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 12:28:15 +08:00
- 增加 .Net Framework 4.0 的支持,出于环境考虑 .Net Framework 4.0 不支持异步方法;
- 增加 IFreeSql.Insert<T>(IEnumerable<T1> source) 方法;
This commit is contained in:
@ -84,12 +84,16 @@ namespace FreeSql
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
int ExecuteAffrows();
|
||||
Task<int> ExecuteAffrowsAsync();
|
||||
/// <summary>
|
||||
/// 执行SQL语句,返回被删除的记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
List<T1> ExecuteDeleted();
|
||||
|
||||
#if net40
|
||||
#else
|
||||
Task<int> ExecuteAffrowsAsync();
|
||||
Task<List<T1>> ExecuteDeletedAsync();
|
||||
#endif
|
||||
}
|
||||
}
|
@ -88,18 +88,22 @@ namespace FreeSql
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
int ExecuteAffrows();
|
||||
Task<int> ExecuteAffrowsAsync();
|
||||
/// <summary>
|
||||
/// 执行SQL语句,返回自增值
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
long ExecuteIdentity();
|
||||
Task<long> ExecuteIdentityAsync();
|
||||
/// <summary>
|
||||
/// 执行SQL语句,返回插入后的记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
List<T1> ExecuteInserted();
|
||||
|
||||
#if net40
|
||||
#else
|
||||
Task<int> ExecuteAffrowsAsync();
|
||||
Task<long> ExecuteIdentityAsync();
|
||||
Task<List<T1>> ExecuteInsertedAsync();
|
||||
#endif
|
||||
}
|
||||
}
|
@ -8,9 +8,22 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace FreeSql
|
||||
{
|
||||
public interface ISelect0<TSelect, T1>
|
||||
public partial interface ISelect0<TSelect, T1>
|
||||
{
|
||||
|
||||
#if net40
|
||||
#else
|
||||
Task<DataTable> ToDataTableAsync(string field = null);
|
||||
Task<List<T1>> ToListAsync(bool includeNestedMembers = false);
|
||||
Task<List<TTuple>> ToListAsync<TTuple>(string field);
|
||||
|
||||
Task<T1> ToOneAsync();
|
||||
Task<T1> FirstAsync();
|
||||
|
||||
Task<bool> AnyAsync();
|
||||
Task<long> CountAsync();
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// 指定事务对象
|
||||
/// </summary>
|
||||
@ -36,7 +49,6 @@ namespace FreeSql
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
DataTable ToDataTable(string field = null);
|
||||
Task<DataTable> ToDataTableAsync(string field = null);
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回 T1 实体所有字段的记录,记录不存在时返回 Count 为 0 的列表
|
||||
@ -44,7 +56,6 @@ namespace FreeSql
|
||||
/// <param name="includeNestedMembers">false: 返回 2级 LeftJoin/InnerJoin/RightJoin 对象;true: 返回所有 LeftJoin/InnerJoin/RightJoin 的导航数据</param>
|
||||
/// <returns></returns>
|
||||
List<T1> ToList(bool includeNestedMembers = false);
|
||||
Task<List<T1>> ToListAsync(bool includeNestedMembers = false);
|
||||
/// <summary>
|
||||
/// 执行SQL查询,分块返回数据,可减少内存开销。比如读取10万条数据,每次返回100条处理。
|
||||
/// </summary>
|
||||
@ -59,20 +70,17 @@ namespace FreeSql
|
||||
/// <param name="field"></param>
|
||||
/// <returns></returns>
|
||||
List<TTuple> ToList<TTuple>(string field);
|
||||
Task<List<TTuple>> ToListAsync<TTuple>(string field);
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回 T1 实体所有字段的第一条记录,记录不存在时返回 null
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
T1 ToOne();
|
||||
Task<T1> ToOneAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回 T1 实体所有字段的第一条记录,记录不存在时返回 null
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
T1 First();
|
||||
Task<T1> FirstAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 设置表名规则,可用于分库/分表,参数1:实体类型;参数2:默认表名;返回值:新表名; <para></para>
|
||||
@ -103,14 +111,12 @@ namespace FreeSql
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
bool Any();
|
||||
Task<bool> AnyAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 查询的记录数量
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
long Count();
|
||||
Task<long> CountAsync();
|
||||
/// <summary>
|
||||
/// 查询的记录数量,以参数out形式返回
|
||||
/// </summary>
|
||||
|
@ -9,20 +9,38 @@ namespace FreeSql
|
||||
public interface ISelect<T1> : ISelect0<ISelect<T1>, T1>, ILinqToSql<T1> where T1 : class
|
||||
{
|
||||
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, bool>> exp);
|
||||
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
|
||||
Task<TReturn> ToOneAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<TDto> ToOneAsync<TDto>();
|
||||
Task<TReturn> FirstAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<TDto> FirstAsync<TDto>();
|
||||
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL查询,是否有记录
|
||||
/// </summary>
|
||||
/// <param name="exp">lambda表达式</param>
|
||||
/// <returns></returns>
|
||||
bool Any(Expression<Func<T1, bool>> exp);
|
||||
Task<bool> AnyAsync(Expression<Func<T1, bool>> exp);
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回 DataTable
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回指定字段的记录,记录不存在时返回 Count 为 0 的列表
|
||||
@ -31,14 +49,12 @@ namespace FreeSql
|
||||
/// <param name="select">选择列</param>
|
||||
/// <returns></returns>
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回 TDto 映射的字段,记录不存在时返回 Count 为 0 的列表
|
||||
/// </summary>
|
||||
/// <typeparam name="TDto"></typeparam>
|
||||
/// <returns></returns>
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回指定字段的记录的第一条记录,记录不存在时返回 TReturn 默认值
|
||||
@ -47,14 +63,12 @@ namespace FreeSql
|
||||
/// <param name="select">选择列</param>
|
||||
/// <returns></returns>
|
||||
TReturn ToOne<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<TReturn> ToOneAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回 TDto 映射的字段,记录不存在时返回 Dto 默认值
|
||||
/// </summary>
|
||||
/// <typeparam name="TDto"></typeparam>
|
||||
/// <returns></returns>
|
||||
TDto ToOne<TDto>();
|
||||
Task<TDto> ToOneAsync<TDto>();
|
||||
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回指定字段的记录的第一条记录,记录不存在时返回 TReturn 默认值
|
||||
@ -63,14 +77,12 @@ namespace FreeSql
|
||||
/// <param name="select">选择列</param>
|
||||
/// <returns></returns>
|
||||
TReturn First<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
Task<TReturn> FirstAsync<TReturn>(Expression<Func<T1, TReturn>> select);
|
||||
/// <summary>
|
||||
/// 执行SQL查询,返回 TDto 映射的字段,记录不存在时返回 Dto 默认值
|
||||
/// </summary>
|
||||
/// <typeparam name="TDto"></typeparam>
|
||||
/// <returns></returns>
|
||||
TDto First<TDto>();
|
||||
Task<TDto> FirstAsync<TDto>();
|
||||
|
||||
/// <summary>
|
||||
/// 返回即将执行的SQL语句
|
||||
@ -87,7 +99,6 @@ namespace FreeSql
|
||||
/// <param name="select"></param>
|
||||
/// <returns></returns>
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, TReturn>> select);
|
||||
|
||||
/// <summary>
|
||||
/// 求和
|
||||
@ -96,7 +107,6 @@ namespace FreeSql
|
||||
/// <param name="column">列</param>
|
||||
/// <returns></returns>
|
||||
TMember Sum<TMember>(Expression<Func<T1, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
/// <summary>
|
||||
/// 最小值
|
||||
/// </summary>
|
||||
@ -104,7 +114,6 @@ namespace FreeSql
|
||||
/// <param name="column">列</param>
|
||||
/// <returns></returns>
|
||||
TMember Min<TMember>(Expression<Func<T1, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
/// <summary>
|
||||
/// 最大值
|
||||
/// </summary>
|
||||
@ -112,7 +121,6 @@ namespace FreeSql
|
||||
/// <param name="column">列</param>
|
||||
/// <returns></returns>
|
||||
TMember Max<TMember>(Expression<Func<T1, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
/// <summary>
|
||||
/// 平均值
|
||||
/// </summary>
|
||||
@ -120,7 +128,6 @@ namespace FreeSql
|
||||
/// <param name="column">列</param>
|
||||
/// <returns></returns>
|
||||
TMember Avg<TMember>(Expression<Func<T1, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, TMember>> column);
|
||||
|
||||
/// <summary>
|
||||
/// 指定别名
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> : ISelect0<ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>, T1> where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class where T10 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, ISelectGroupingAggregate<T10>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> exp);
|
||||
|
@ -9,30 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2> : ISelect0<ISelect<T1, T2>, T1> where T1 : class where T2 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, TMember>> column);
|
||||
|
||||
ISelect<T1, T2> LeftJoin(Expression<Func<T1, T2, bool>> exp);
|
||||
ISelect<T1, T2> InnerJoin(Expression<Func<T1, T2, bool>> exp);
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3> : ISelect0<ISelect<T1, T2, T3>, T1> where T1 : class where T2 : class where T3 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3> LeftJoin(Expression<Func<T1, T2, T3, bool>> exp);
|
||||
ISelect<T1, T2, T3> InnerJoin(Expression<Func<T1, T2, T3, bool>> exp);
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3, T4> : ISelect0<ISelect<T1, T2, T3, T4>, T1> where T1 : class where T2 : class where T3 : class where T4 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, T4, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3, T4> LeftJoin(Expression<Func<T1, T2, T3, T4, bool>> exp);
|
||||
ISelect<T1, T2, T3, T4> InnerJoin(Expression<Func<T1, T2, T3, T4, bool>> exp);
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3, T4, T5> : ISelect0<ISelect<T1, T2, T3, T4, T5>, T1> where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3, T4, T5> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
|
||||
ISelect<T1, T2, T3, T4, T5> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, bool>> exp);
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3, T4, T5, T6> : ISelect0<ISelect<T1, T2, T3, T4, T5, T6>, T1> where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3, T4, T5, T6> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
|
||||
ISelect<T1, T2, T3, T4, T5, T6> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, bool>> exp);
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3, T4, T5, T6, T7> : ISelect0<ISelect<T1, T2, T3, T4, T5, T6, T7>, T1> where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, bool>> exp);
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3, T4, T5, T6, T7, T8> : ISelect0<ISelect<T1, T2, T3, T4, T5, T6, T7, T8>, T1> where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7, T8> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7, T8> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, bool>> exp);
|
||||
|
@ -9,29 +9,31 @@ namespace FreeSql
|
||||
public interface ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> : ISelect0<ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9>, T1> where T1 : class where T2 : class where T3 : class where T4 : class where T5 : class where T6 : class where T7 : class where T8 : class where T9 : class
|
||||
{
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
|
||||
#if net40
|
||||
#else
|
||||
Task<bool> AnyAsync(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
|
||||
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
Task<DataTable> ToDataTableAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
Task<List<TDto>> ToListAsync<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select);
|
||||
Task<TReturn> ToAggregateAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select);
|
||||
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
Task<TMember> SumAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
Task<TMember> MinAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
Task<TMember> MaxAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
Task<TMember> AvgAsync<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
#endif
|
||||
|
||||
bool Any(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
|
||||
DataTable ToDataTable<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
List<TDto> ToList<TDto>();
|
||||
string ToSql<TReturn>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TReturn>> select);
|
||||
TReturn ToAggregate<TReturn>(Expression<Func<ISelectGroupingAggregate<T1>, ISelectGroupingAggregate<T2>, ISelectGroupingAggregate<T3>, ISelectGroupingAggregate<T4>, ISelectGroupingAggregate<T5>, ISelectGroupingAggregate<T6>, ISelectGroupingAggregate<T7>, ISelectGroupingAggregate<T8>, ISelectGroupingAggregate<T9>, TReturn>> select);
|
||||
TMember Sum<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
TMember Min<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
TMember Max<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
TMember Avg<TMember>(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TMember>> column);
|
||||
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> LeftJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
|
||||
ISelect<T1, T2, T3, T4, T5, T6, T7, T8, T9> InnerJoin(Expression<Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, bool>> exp);
|
||||
|
@ -8,6 +8,12 @@ namespace FreeSql
|
||||
{
|
||||
public interface ISelectGrouping<TKey, TValue>
|
||||
{
|
||||
|
||||
#if net40
|
||||
#else
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<TKey, TValue>, TReturn>> select);
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// 按聚合条件过滤,Where(a => a.Count() > 10)
|
||||
/// </summary>
|
||||
@ -36,7 +42,6 @@ namespace FreeSql
|
||||
/// <param name="select">选择列</param>
|
||||
/// <returns></returns>
|
||||
List<TReturn> ToList<TReturn>(Expression<Func<ISelectGroupingAggregate<TKey, TValue>, TReturn>> select);
|
||||
Task<List<TReturn>> ToListAsync<TReturn>(Expression<Func<ISelectGroupingAggregate<TKey, TValue>, TReturn>> select);
|
||||
|
||||
/// <summary>
|
||||
/// 【linq to sql】专用方法,不建议直接使用
|
||||
|
@ -153,12 +153,16 @@ namespace FreeSql
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
int ExecuteAffrows();
|
||||
Task<int> ExecuteAffrowsAsync();
|
||||
/// <summary>
|
||||
/// 执行SQL语句,返回更新后的记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
List<T1> ExecuteUpdated();
|
||||
|
||||
#if net40
|
||||
#else
|
||||
Task<int> ExecuteAffrowsAsync();
|
||||
Task<List<T1>> ExecuteUpdatedAsync();
|
||||
#endif
|
||||
}
|
||||
}
|
@ -219,6 +219,8 @@ namespace FreeSql
|
||||
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(DbTransaction transaction, string cmdText, object parms = null);
|
||||
(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>) Query<T1, T2, T3, T4, T5>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
|
||||
|
||||
#if net40
|
||||
#else
|
||||
#region async
|
||||
/// <summary>
|
||||
/// 查询,若使用读写分离,查询【从库】条件cmdText.StartsWith("SELECT "),否则查询【主库】
|
||||
@ -389,5 +391,6 @@ namespace FreeSql
|
||||
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(DbTransaction transaction, string cmdText, object parms = null);
|
||||
Task<(List<T1>, List<T2>, List<T3>, List<T4>, List<T5>)> QueryAsync<T1, T2, T3, T4, T5>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null);
|
||||
#endregion
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,13 @@ public interface IFreeSql : IDisposable
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
IInsert<T1> Insert<T1>(List<T1> source) where T1 : class;
|
||||
/// <summary>
|
||||
/// 插入数据,传入实体集合
|
||||
/// </summary>
|
||||
/// <typeparam name="T1"></typeparam>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
IInsert<T1> Insert<T1>(IEnumerable<T1> source) where T1 : class;
|
||||
|
||||
/// <summary>
|
||||
/// 修改数据
|
||||
|
Reference in New Issue
Block a user