This commit is contained in:
sunkaixuan
2017-05-26 01:57:47 +08:00
parent c4c0d2ee79
commit 54cfc8b823
2 changed files with 125 additions and 14 deletions

View File

@@ -16,26 +16,102 @@ namespace SqlSugar
} }
public partial class QueryableProvider<T, T2, T3> : QueryableProvider<T>, ISugarQueryable<T, T2, T3> public partial class QueryableProvider<T, T2, T3> : QueryableProvider<T>, ISugarQueryable<T, T2, T3>
{ {
#region Group
} public ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, T2, T3, object>> expression)
public partial class QueryableProvider<T, T2> : QueryableProvider<T>, ISugarQueryable<T, T2>
{
public new ISugarQueryable<T, T2> Where(Expression<Func<T, bool>> expression)
{ {
_Where(expression); _GroupBy(expression);
return this; return this;
} }
public ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, T2, object>> expression)
{
_GroupBy(expression);
return this;
}
public new ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, object>> expression)
{
_GroupBy(expression);
return this;
}
#endregion
#region Order
public ISugarQueryable<T, T2, T3> OrderBy(Expression<Func<T, T2, T3, object>> expression, OrderByType type = OrderByType.Asc)
{
_OrderBy(expression);
return this;
}
public ISugarQueryable<T, T2, T3> OrderBy(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc)
{
_OrderBy(expression);
return this;
}
public new ISugarQueryable<T, T2, T3> OrderBy(Expression<Func<T, object>> expression, OrderByType type)
{
_OrderBy(expression);
return this;
}
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression) public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{ {
return _Select<TResult>(expression); return _Select<TResult>(expression);
} }
public ISugarQueryable<T, T2> Where(Expression<Func<T, T2, bool>> expression) public ISugarQueryable<T, T2, T3> Where(Expression<Func<T, T2, T3, bool>> expression)
{
_Where(expression);
return this;
}
#endregion
#region Where
public ISugarQueryable<T, T2, T3> Where(Expression<Func<T, T2, bool>> expression)
{ {
_Where(expression); _Where(expression);
return this; return this;
} }
public new ISugarQueryable<T, T2, T3> Where(Expression<Func<T, bool>> expression)
{
_Where(expression);
return this;
}
#endregion
}
public partial class QueryableProvider<T, T2> : QueryableProvider<T>, ISugarQueryable<T, T2>
{
#region Where
public new ISugarQueryable<T, T2> Where(Expression<Func<T, bool>> expression)
{
_Where(expression);
return this;
}
public ISugarQueryable<T, T2> Where(Expression<Func<T, T2, bool>> expression)
{
_Where(expression);
return this;
}
#endregion
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
return _Select<TResult>(expression);
}
#endregion
#region Order
public ISugarQueryable<T, T2> OrderBy(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc) public ISugarQueryable<T, T2> OrderBy(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc)
{ {
_OrderBy(expression, type); _OrderBy(expression, type);
@@ -47,7 +123,9 @@ namespace SqlSugar
_OrderBy(expression, type); _OrderBy(expression, type);
return this; return this;
} }
#endregion
#region GroupBy
public new ISugarQueryable<T, T2> GroupBy(Expression<Func<T, object>> expression) public new ISugarQueryable<T, T2> GroupBy(Expression<Func<T, object>> expression)
{ {
_GroupBy(expression); _GroupBy(expression);
@@ -59,6 +137,7 @@ namespace SqlSugar
_GroupBy(expression); _GroupBy(expression);
return this; return this;
} }
#endregion
} }
public partial class QueryableProvider<T> : QueryableAccessory, ISugarQueryable<T> public partial class QueryableProvider<T> : QueryableAccessory, ISugarQueryable<T>
{ {

View File

@@ -109,17 +109,49 @@ namespace SqlSugar
} }
public partial interface ISugarQueryable<T, T2> : ISugarQueryable<T> public partial interface ISugarQueryable<T, T2> : ISugarQueryable<T>
{ {
new ISugarQueryable<T,T2> Where(Expression<Func<T, bool>> expression); #region Where
ISugarQueryable<T,T2> Where(Expression<Func<T,T2, bool>> expression); new ISugarQueryable<T, T2> Where(Expression<Func<T, bool>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T,T2, TResult>> expression); ISugarQueryable<T, T2> Where(Expression<Func<T, T2, bool>> expression);
new ISugarQueryable<T,T2> OrderBy(Expression<Func<T, object>> expression, OrderByType type = OrderByType.Asc); #endregion
ISugarQueryable<T,T2> OrderBy(Expression<Func<T,T2, object>> expression, OrderByType type = OrderByType.Asc);
new ISugarQueryable<T,T2> GroupBy(Expression<Func<T, object>> expression); #region Select
ISugarQueryable<T, T2> GroupBy(Expression<Func<T,T2, object>> expression); ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression);
#endregion
#region OrderBy
new ISugarQueryable<T, T2> OrderBy(Expression<Func<T, object>> expression, OrderByType type = OrderByType.Asc);
ISugarQueryable<T, T2> OrderBy(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc);
#endregion
#region GroupBy
new ISugarQueryable<T, T2> GroupBy(Expression<Func<T, object>> expression);
ISugarQueryable<T, T2> GroupBy(Expression<Func<T, T2, object>> expression);
#endregion
} }
public partial interface ISugarQueryable<T, T2, T3> : ISugarQueryable<T> public partial interface ISugarQueryable<T, T2, T3> : ISugarQueryable<T>
{ {
#region Where
new ISugarQueryable<T, T2, T3> Where(Expression<Func<T, bool>> expression);
ISugarQueryable<T, T2, T3> Where(Expression<Func<T, T2, bool>> expression);
ISugarQueryable<T, T2, T3> Where(Expression<Func<T, T2, T3, bool>> expression);
#endregion
#region Select
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression);
ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression);
#endregion
#region OrderBy
new ISugarQueryable<T, T2, T3> OrderBy(Expression<Func<T, object>> expression, OrderByType type = OrderByType.Asc);
ISugarQueryable<T, T2, T3> OrderBy(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc);
ISugarQueryable<T, T2, T3> OrderBy(Expression<Func<T, T2, T3, object>> expression, OrderByType type = OrderByType.Asc);
#endregion
#region GroupBy
new ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, object>> expression);
ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, T2, object>> expression);
ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, T2, T3, object>> expression);
#endregion
} }
public partial interface ISugarQueryable<T, T2, T3, T4> : ISugarQueryable<T> public partial interface ISugarQueryable<T, T2, T3, T4> : ISugarQueryable<T>
{ {