mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-21 02:58:05 +08:00
Update queryfilter
This commit is contained in:
@@ -381,6 +381,10 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public ISugarQueryable<T> Filter(Type type)
|
public ISugarQueryable<T> Filter(Type type)
|
||||||
{
|
{
|
||||||
|
if (type == null)
|
||||||
|
{
|
||||||
|
return this;
|
||||||
|
}
|
||||||
this.Context.InitMappingInfo(type);
|
this.Context.InitMappingInfo(type);
|
||||||
var whereString= QueryBuilder.GetFilters(type);
|
var whereString= QueryBuilder.GetFilters(type);
|
||||||
if (whereString.HasValue())
|
if (whereString.HasValue())
|
||||||
|
@@ -174,7 +174,7 @@ namespace SqlSugar
|
|||||||
var queryBuilerAB=this.context.Queryable<object>().QueryBuilder;
|
var queryBuilerAB=this.context.Queryable<object>().QueryBuilder;
|
||||||
queryBuilerAB.LambdaExpressions.ParameterIndex = 100+this.ParameterIndex;
|
queryBuilerAB.LambdaExpressions.ParameterIndex = 100+this.ParameterIndex;
|
||||||
var filters= queryBuilerAB.GetFilters(mappingType);
|
var filters= queryBuilerAB.GetFilters(mappingType);
|
||||||
if (filters.HasValue())
|
if (filters.HasValue()&& this.methodCallExpressionResolve?.Context?.SugarContext?.QueryBuilder?.IsDisabledGobalFilter!=true)
|
||||||
{
|
{
|
||||||
aPk += " AND " + filters;
|
aPk += " AND " + filters;
|
||||||
if (queryBuilerAB.Parameters != null)
|
if (queryBuilerAB.Parameters != null)
|
||||||
@@ -234,14 +234,16 @@ namespace SqlSugar
|
|||||||
queryable.QueryBuilder.TableShortName = PropertyShortName;
|
queryable.QueryBuilder.TableShortName = PropertyShortName;
|
||||||
}
|
}
|
||||||
queryable.QueryBuilder.LambdaExpressions.ParameterIndex = 500;
|
queryable.QueryBuilder.LambdaExpressions.ParameterIndex = 500;
|
||||||
|
var isClearFilter = false;
|
||||||
if (this.methodCallExpressionResolve?.Context?.SugarContext?.QueryBuilder != null)
|
if (this.methodCallExpressionResolve?.Context?.SugarContext?.QueryBuilder != null)
|
||||||
{
|
{
|
||||||
queryable.QueryBuilder.LambdaExpressions.ParameterIndex=500+ this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.LambdaExpressions.ParameterIndex;
|
queryable.QueryBuilder.LambdaExpressions.ParameterIndex=500+ this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.LambdaExpressions.ParameterIndex;
|
||||||
this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.LambdaExpressions.ParameterIndex++;
|
this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.LambdaExpressions.ParameterIndex++;
|
||||||
|
isClearFilter=this.methodCallExpressionResolve.Context.SugarContext.QueryBuilder.IsDisabledGobalFilter;
|
||||||
}
|
}
|
||||||
var sqlObj = queryable
|
var sqlObj = queryable
|
||||||
.AS(this.ProPertyEntity.DbTableName)
|
.AS(this.ProPertyEntity.DbTableName)
|
||||||
.Filter(this.ProPertyEntity.Type)
|
.Filter(isClearFilter?null:this.ProPertyEntity.Type)
|
||||||
.WhereIF(!string.IsNullOrEmpty(whereSql), whereSql)
|
.WhereIF(!string.IsNullOrEmpty(whereSql), whereSql)
|
||||||
.Where($" {name}={ShorName}.{pk} ").Select(MethodName == "Any" ? "1" : " COUNT(1) ").ToSql();
|
.Where($" {name}={ShorName}.{pk} ").Select(MethodName == "Any" ? "1" : " COUNT(1) ").ToSql();
|
||||||
if (sqlObj.Value?.Any() == true)
|
if (sqlObj.Value?.Any() == true)
|
||||||
|
Reference in New Issue
Block a user