db.Queryable.Includes.Select.ToList

This commit is contained in:
sunkaixuan 2023-05-04 23:33:36 +08:00
parent 5a11bf0cf1
commit de66573d4a
4 changed files with 188 additions and 3 deletions

View File

@ -556,12 +556,12 @@ namespace SqlSugar
#endregion
#region Navigate
private bool IsAppendNavColumns()
internal bool IsAppendNavColumns()
{
return this.QueryBuilder.Includes.HasValue() && this.QueryBuilder.AppendNavInfo == null;
}
private void SetAppendNavColumns(Expression expression)
internal void SetAppendNavColumns(Expression expression)
{
var tResultType = expression.Type;
var dic = ExpressionTool.GetNewExpressionItemList(expression);

View File

@ -229,6 +229,10 @@ namespace SqlSugar
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T,T2, TResult>> expression, bool isAutoFill)
@ -946,11 +950,19 @@ namespace SqlSugar
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
@ -1531,14 +1543,26 @@ namespace SqlSugar
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
#endregion
@ -2251,18 +2275,34 @@ namespace SqlSugar
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
#endregion

View File

@ -263,22 +263,42 @@ namespace SqlSugar
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5,T6, TResult>> expression, bool isAutoFill)
@ -954,26 +974,50 @@ namespace SqlSugar
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6,T7, TResult>> expression, bool isAutoFill)
@ -1612,30 +1656,58 @@ namespace SqlSugar
#region Select
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7,T8, TResult>> expression, bool isAutoFill)
@ -2265,34 +2337,66 @@ namespace SqlSugar
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
#endregion
@ -2911,38 +3015,74 @@ namespace SqlSugar
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>> expression)
{
if (IsAppendNavColumns())
{
SetAppendNavColumns(expression);
}
return _Select<TResult>(expression);
}
#endregion

View File

@ -809,7 +809,12 @@ namespace SqlSugar
if (this.AppendNavInfo?.AppendProperties?.Any() ==true)
{
result += ",";
result += string.Join(",",this.AppendNavInfo.AppendProperties.Select(it=>it.Value+ " AS SugarNav_" + it.Key));
var shortName = "";
if (this.TableShortName.HasValue())
{
shortName = $"{Builder.GetTranslationColumnName(this.TableShortName)}.";
}
result += string.Join(",",this.AppendNavInfo.AppendProperties.Select(it=> shortName+Builder.GetTranslationColumnName(it.Value)+ " AS SugarNav_" + it.Key));
}
if (result.Contains("/**/*"))
{