mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-24 18:04:52 +08:00
Synchronization code
This commit is contained in:
parent
b5ef736a02
commit
d2af5772b3
@ -381,6 +381,10 @@ namespace SqlSugar
|
||||
}
|
||||
public ISugarQueryable<T> Filter(Type type)
|
||||
{
|
||||
if (type == null)
|
||||
{
|
||||
return this;
|
||||
}
|
||||
this.Context.InitMappingInfo(type);
|
||||
var whereString= QueryBuilder.GetFilters(type);
|
||||
if (whereString.HasValue())
|
||||
@ -1229,6 +1233,10 @@ namespace SqlSugar
|
||||
}
|
||||
public ISugarQueryable<TResult> Select<TResult>(Expression<Func<T, TResult>> expression, bool isAutoFill)
|
||||
{
|
||||
if (typeof(TResult).IsAnonymousType())
|
||||
{
|
||||
return Select(expression);
|
||||
}
|
||||
var clone = this.Select(expression).Clone();
|
||||
//clone.QueryBuilder.LambdaExpressions.Index = QueryBuilder.LambdaExpressions.Index+1;
|
||||
var ps = clone.QueryBuilder;
|
||||
|
@ -163,6 +163,7 @@ namespace SqlSugar
|
||||
bPk = queryable.QueryBuilder.Builder.GetTranslationColumnName(bPk);
|
||||
aPk = queryable.QueryBuilder.Builder.GetTranslationColumnName(aPk);
|
||||
var mappingType = Navigat.MappingType;
|
||||
Check.ExceptionEasy(mappingType == null, "ManyToMany misconfiguration", "多对多配置错误");
|
||||
var mappingEntity = this.context.EntityMaintenance.GetEntityInfo(mappingType);
|
||||
var mappingTableName=queryable.QueryBuilder.Builder.GetTranslationTableName(mappingEntity.DbTableName);
|
||||
var mappingA = mappingEntity.Columns.First(it => it.PropertyName == Navigat.MappingAId).DbColumnName;
|
||||
@ -174,7 +175,7 @@ namespace SqlSugar
|
||||
var queryBuilerAB=this.context.Queryable<object>().QueryBuilder;
|
||||
queryBuilerAB.LambdaExpressions.ParameterIndex = 100+this.ParameterIndex;
|
||||
var filters= queryBuilerAB.GetFilters(mappingType);
|
||||
if (filters.HasValue())
|
||||
if (filters.HasValue()&& this.methodCallExpressionResolve?.Context?.SugarContext?.QueryBuilder?.IsDisabledGobalFilter!=true)
|
||||
{
|
||||
aPk += " AND " + filters;
|
||||
if (queryBuilerAB.Parameters != null)
|
||||
@ -234,9 +235,16 @@ namespace SqlSugar
|
||||
queryable.QueryBuilder.TableShortName = PropertyShortName;
|
||||
}
|
||||
queryable.QueryBuilder.LambdaExpressions.ParameterIndex = 500;
|
||||
var isClearFilter = false;
|
||||
if (this.methodCallExpressionResolve?.Context?.SugarContext?.QueryBuilder != null)
|
||||
{
|
||||
queryable.QueryBuilder.LambdaExpressions.ParameterIndex=500+ this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.LambdaExpressions.ParameterIndex;
|
||||
this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.LambdaExpressions.ParameterIndex++;
|
||||
isClearFilter=this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.IsDisabledGobalFilter;
|
||||
}
|
||||
var sqlObj = queryable
|
||||
.AS(this.ProPertyEntity.DbTableName)
|
||||
.Filter(this.ProPertyEntity.Type)
|
||||
.Filter(isClearFilter?null:this.ProPertyEntity.Type)
|
||||
.WhereIF(!string.IsNullOrEmpty(whereSql), whereSql)
|
||||
.Where($" {name}={ShorName}.{pk} ").Select(MethodName == "Any" ? "1" : " COUNT(1) ").ToSql();
|
||||
if (sqlObj.Value?.Any() == true)
|
||||
|
Loading…
Reference in New Issue
Block a user