mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-08 22:58:03 +08:00
Update core
This commit is contained in:
parent
e513b4e085
commit
9b3b84a1d7
@ -46,6 +46,23 @@ namespace SqlSugar
|
|||||||
return this.Context.EntityMaintenance.GetEntityInfo<T>();
|
return this.Context.EntityMaintenance.GetEntityInfo<T>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public ISugarQueryable<T, T2> LeftJoin<T2>(Expression<Func<T, T2, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression,JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2> InnerJoin<T2>(Expression<Func<T, T2, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
public void Clear()
|
public void Clear()
|
||||||
{
|
{
|
||||||
QueryBuilder.Clear();
|
QueryBuilder.Clear();
|
||||||
@ -1578,6 +1595,30 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
protected JoinQueryInfo GetJoinInfo(Expression joinExpression,JoinType joinType)
|
||||||
|
{
|
||||||
|
QueryBuilder.CheckExpressionNew(joinExpression, "Join");
|
||||||
|
QueryBuilder.JoinExpression = joinExpression;
|
||||||
|
var express= LambdaExpression.Lambda(joinExpression).Body;
|
||||||
|
var lastPareamter= (express as LambdaExpression).Parameters.Last();
|
||||||
|
var expResult = this.QueryBuilder.GetExpressionValue(joinExpression, ResolveExpressType.WhereMultiple);
|
||||||
|
this.Context.InitMappingInfo(lastPareamter.Type);
|
||||||
|
var result= new JoinQueryInfo()
|
||||||
|
{
|
||||||
|
JoinIndex = QueryBuilder.JoinQueryInfos.Count,
|
||||||
|
JoinType = joinType,
|
||||||
|
JoinWhere = expResult.GetResultString(),
|
||||||
|
ShortName= lastPareamter.Name,
|
||||||
|
TableName=this.Context.EntityMaintenance.GetTableName(lastPareamter.Type)
|
||||||
|
};
|
||||||
|
if (result.JoinIndex == 0)
|
||||||
|
{
|
||||||
|
var firstPareamter = (express as LambdaExpression).Parameters.First();
|
||||||
|
this.QueryBuilder.TableShortName = firstPareamter.Name;
|
||||||
|
}
|
||||||
|
Check.Exception(result.JoinIndex > 10, ErrorMessage.GetThrowMessage("只支持12个表", "Only 12 tables are supported"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
private void _CountEnd(MappingTableList expMapping)
|
private void _CountEnd(MappingTableList expMapping)
|
||||||
{
|
{
|
||||||
@ -2448,6 +2489,23 @@ namespace SqlSugar
|
|||||||
#region T2
|
#region T2
|
||||||
public partial class QueryableProvider<T, T2> : QueryableProvider<T>, ISugarQueryable<T, T2>
|
public partial class QueryableProvider<T, T2> : QueryableProvider<T>, ISugarQueryable<T, T2>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2,T3> LeftJoin<T3>(Expression<Func<T, T2,T3, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2,T3>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2,T3> InnerJoin<T3>(Expression<Func<T, T2,T3, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2,T3>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -2778,6 +2836,24 @@ namespace SqlSugar
|
|||||||
#region T3
|
#region T3
|
||||||
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>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3,T4> LeftJoin<T4>(Expression<Func<T, T2, T3,T4, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3,T4>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3,T4> InnerJoin<T4>(Expression<Func<T, T2, T3,T4, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3,T4>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
#region Group
|
#region Group
|
||||||
public ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, T2, T3, object>> expression)
|
public ISugarQueryable<T, T2, T3> GroupBy(Expression<Func<T, T2, T3, object>> expression)
|
||||||
{
|
{
|
||||||
@ -3170,6 +3246,24 @@ namespace SqlSugar
|
|||||||
#region T4
|
#region T4
|
||||||
public partial class QueryableProvider<T, T2, T3, T4> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4>
|
public partial class QueryableProvider<T, T2, T3, T4> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5> LeftJoin<T5>(Expression<Func<T, T2, T3, T4,T5, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5> InnerJoin<T5>(Expression<Func<T, T2, T3, T4, T5, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -3604,6 +3698,24 @@ namespace SqlSugar
|
|||||||
#region T5
|
#region T5
|
||||||
public partial class QueryableProvider<T, T2, T3, T4, T5> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5>
|
public partial class QueryableProvider<T, T2, T3, T4, T5> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6> LeftJoin<T6>(Expression<Func<T, T2, T3, T4, T5,T6, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6> InnerJoin<T6>(Expression<Func<T, T2, T3, T4, T5, T6, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4, T5> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4, T5> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -4000,6 +4112,23 @@ namespace SqlSugar
|
|||||||
#region T6
|
#region T6
|
||||||
public partial class QueryableProvider<T, T2, T3, T4, T5, T6> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6>
|
public partial class QueryableProvider<T, T2, T3, T4, T5, T6> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7> LeftJoin<T7>(Expression<Func<T, T2, T3, T4, T5, T6,T7, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7> InnerJoin<T7>(Expression<Func<T, T2, T3, T4, T5, T6, T7, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4, T5, T6> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4, T5, T6> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -4432,6 +4561,23 @@ namespace SqlSugar
|
|||||||
#region T7
|
#region T7
|
||||||
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7>
|
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> LeftJoin<T8>(Expression<Func<T, T2, T3, T4, T5, T6, T7,T8, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> InnerJoin<T8>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -4855,6 +5001,23 @@ namespace SqlSugar
|
|||||||
#region T8
|
#region T8
|
||||||
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8>
|
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> LeftJoin<T9>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8,T9, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> InnerJoin<T9>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -5311,6 +5474,23 @@ namespace SqlSugar
|
|||||||
#region T9
|
#region T9
|
||||||
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9>
|
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9,T10> LeftJoin<T10>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> InnerJoin<T10>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -5703,6 +5883,23 @@ namespace SqlSugar
|
|||||||
#region T10
|
#region T10
|
||||||
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10>
|
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> LeftJoin<T11>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10,T11, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> InnerJoin<T11>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
@ -6119,6 +6316,23 @@ namespace SqlSugar
|
|||||||
#region T11
|
#region T11
|
||||||
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
|
public partial class QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> : QueryableProvider<T>, ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
|
||||||
{
|
{
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> LeftJoin<T12>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,T12, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Left));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> InnerJoin<T12>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, bool>> joinExpression)
|
||||||
|
{
|
||||||
|
var result = InstanceFactory.GetQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(this.Context.CurrentConnectionConfig);
|
||||||
|
result.SqlBuilder = this.SqlBuilder;
|
||||||
|
result.Context = this.Context;
|
||||||
|
result.QueryBuilder.JoinQueryInfos.Add(GetJoinInfo(joinExpression, JoinType.Inner));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
#region Where
|
#region Where
|
||||||
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where(Expression<Func<T, bool>> expression)
|
public new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where(Expression<Func<T, bool>> expression)
|
||||||
{
|
{
|
||||||
|
@ -701,5 +701,33 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public void CheckExpressionNew(Expression expression, string methodName)
|
||||||
|
{
|
||||||
|
if (IsSingle() == false && this.JoinExpression != null)
|
||||||
|
{
|
||||||
|
var jsoinParameters = (this.JoinExpression as LambdaExpression).Parameters;
|
||||||
|
var currentParametres = (expression as LambdaExpression).Parameters;
|
||||||
|
if ((expression as LambdaExpression).Body.ToString() == "True")
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (currentParametres != null && currentParametres.Count > 0)
|
||||||
|
{
|
||||||
|
if (jsoinParameters.Count + 1 != currentParametres.Count)
|
||||||
|
{
|
||||||
|
var str1 = "(" + string.Join(",", currentParametres.Select(it => it.Name)) + ")=>";
|
||||||
|
var str2 = "("+string.Join(",", jsoinParameters.Select(it => it.Name))+","+ currentParametres.Last().Type.Name + " )=>";
|
||||||
|
throw new Exception(ErrorMessage.GetThrowMessage($"Join {currentParametres.Last().Type.Name} error , Please change {str1} to {str2}.", $"Join {currentParametres.Last().Type.Name} 错误, 请把 {str1} 改成 {str2} "));
|
||||||
|
}
|
||||||
|
foreach (var item in currentParametres.Take(jsoinParameters.Count))
|
||||||
|
{
|
||||||
|
var index = currentParametres.IndexOf(item);
|
||||||
|
var name = item.Name;
|
||||||
|
var joinName = jsoinParameters[index].Name;
|
||||||
|
Check.Exception(name.ToLower() != joinName.ToLower(), ErrorMessage.ExpressionCheck, joinName, methodName, name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,8 @@ namespace SqlSugar
|
|||||||
ISugarQueryable<T> AS<T2>(string tableName);
|
ISugarQueryable<T> AS<T2>(string tableName);
|
||||||
ISugarQueryable<T> AS(string tableName);
|
ISugarQueryable<T> AS(string tableName);
|
||||||
ISugarQueryable<T> With(string withString);
|
ISugarQueryable<T> With(string withString);
|
||||||
|
ISugarQueryable<T,T2> LeftJoin<T2>(Expression<Func<T,T2,bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2> InnerJoin<T2>(Expression<Func<T, T2, bool>> joinExpression);
|
||||||
ISugarQueryable<T> Filter(string FilterName, bool isDisabledGobalFilter = false);
|
ISugarQueryable<T> Filter(string FilterName, bool isDisabledGobalFilter = false);
|
||||||
ISugarQueryable<T> Mapper(Action<T> mapperAction);
|
ISugarQueryable<T> Mapper(Action<T> mapperAction);
|
||||||
ISugarQueryable<T> Mapper<AType, BType, MappingType>(Expression<Func<MappingType, ManyToMany>> expression);
|
ISugarQueryable<T> Mapper<AType, BType, MappingType>(Expression<Func<MappingType, ManyToMany>> expression);
|
||||||
@ -179,6 +181,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2,T3> LeftJoin<T3>(Expression<Func<T,T2,T3,bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3> InnerJoin<T3>(Expression<Func<T, T2, T3, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -264,6 +269,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3,T4> LeftJoin<T4>(Expression<Func<T, T2, T3,T4, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3,T4> InnerJoin<T4>(Expression<Func<T, T2, T3,T4, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3> Where(Expression<Func<T, bool>> expression);
|
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, bool>> expression);
|
||||||
@ -360,6 +368,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4,T5> LeftJoin<T5>(Expression<Func<T, T2, T3, T4,T5, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4,T5> InnerJoin<T5>(Expression<Func<T, T2, T3, T4,T5, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -463,6 +474,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5,T6> LeftJoin<T6>(Expression<Func<T, T2, T3, T4, T5,T6, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5,T6> InnerJoin<T6>(Expression<Func<T, T2, T3, T4, T5,T6, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -562,6 +576,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6,T7> LeftJoin<T7>(Expression<Func<T, T2, T3, T4, T5, T6,T7, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6,T7> InnerJoin<T7>(Expression<Func<T, T2, T3, T4, T5, T6,T7, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5, T6> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5, T6> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5, T6> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5, T6> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -668,6 +685,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> LeftJoin<T8>(Expression<Func<T, T2, T3, T4, T5, T6, T7,T8, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> InnerJoin<T8>(Expression<Func<T, T2, T3, T4, T5, T6, T7,T8, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5, T6, T7> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -773,6 +793,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8,T9> LeftJoin<T9>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8,T9, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8,T9> InnerJoin<T9>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8,T9, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -886,6 +909,9 @@ namespace SqlSugar
|
|||||||
#region 9-12
|
#region 9-12
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> LeftJoin<T10>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9,T10, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> InnerJoin<T10>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -977,6 +1003,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> LeftJoin<T11>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10,T11, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> InnerJoin<T11>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -1073,6 +1102,9 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,T12> LeftJoin<T12>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,T12, bool>> joinExpression);
|
||||||
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,T12> InnerJoin<T12>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,T12, bool>> joinExpression);
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
@ -1174,6 +1206,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> : ISugarQueryable<T>
|
public partial interface ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> : ISugarQueryable<T>
|
||||||
{
|
{
|
||||||
|
|
||||||
#region Where
|
#region Where
|
||||||
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Where(Expression<Func<T, bool>> expression);
|
new ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Where(Expression<Func<T, bool>> expression);
|
||||||
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Where(Expression<Func<T, T2, bool>> expression);
|
ISugarQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Where(Expression<Func<T, T2, bool>> expression);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<package >
|
<package >
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>SqlSugarCore</id>
|
<id>SqlSugarCore</id>
|
||||||
<version>5.0.4.1-perview-02</version>
|
<version>5.0.4.1-perview-03</version>
|
||||||
<authors>sunkaixuan</authors>
|
<authors>sunkaixuan</authors>
|
||||||
<owners>Landa</owners>
|
<owners>Landa</owners>
|
||||||
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
|
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<package >
|
<package >
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>SqlSugarCoreNoDrive</id>
|
<id>SqlSugarCoreNoDrive</id>
|
||||||
<version>5.0.4.1-perview-02</version>
|
<version>5.0.4.1-perview-03</version>
|
||||||
<authors>sunkaixuan</authors>
|
<authors>sunkaixuan</authors>
|
||||||
<owners>Landa</owners>
|
<owners>Landa</owners>
|
||||||
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
|
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
|
||||||
|
@ -45,8 +45,8 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
List<string> formatArgs = new List<string>() { enMessage, cnMessage };
|
List<string> formatArgs = new List<string>() { enMessage, cnMessage };
|
||||||
formatArgs.AddRange(args);
|
formatArgs.AddRange(args);
|
||||||
return string.Format(@"English Message : {0}
|
return string.Format(@"中文提示 : {1}
|
||||||
Chinese Message : {1}", formatArgs.ToArray());
|
Chinese Message : {0}", formatArgs.ToArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user