[求助] Where 中 Expression 写法问题。 返回

SqlSugar 沟通中
4 180

string vv2 = "1234567开发测试";

var list = db.Queryable<BXJHB>().Where(X => X.B_TYPE == vv2.Substring(7).Replace("测试", "").Trim()).ToList();


vv2.Substring(7).Replace("测试", "").Trim()

这个写法用了一年多都正常跑,突然不能用了。是咋回事 。

热忱回答4

  • 提供具体错误

    0 回复
  • System.ArgumentOutOfRangeException:“索引超出范围。必须为非负值并小于集合大小。

    Parameter name: index”


       at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)

       at System.Collections.Generic.List`1.get_Item(Int32 index)

       at SqlSugar.DefaultDbMethod.Substring(MethodCallExpressionModel model)

       at SqlSugar.MethodCallExpressionResolve.GetMethodValue(String name, MethodCallExpressionModel model)

       at SqlSugar.MethodCallExpressionResolve.Where(ExpressionParameter parameter, Nullable`1 isLeft, String name, IEnumerable`1 args, MethodCallExpressionModel model, List`1 appendArgs)

       at SqlSugar.MethodCallExpressionResolve.NativeExtensionMethod(ExpressionParameter parameter, MethodCallExpression express, Nullable`1 isLeft, String name, List`1 appendArgs)

       at SqlSugar.MethodCallExpressionResolve..ctor(ExpressionParameter parameter)

       at SqlSugar.BaseResolve.Start()

       at SqlSugar.BinaryExpressionResolve.Right(ExpressionParameter parameter, String operatorValue, Boolean isEqual, Expression rightExpression, Boolean lsbs)

       at SqlSugar.BinaryExpressionResolve.DefaultBinary(ExpressionParameter parameter, BinaryExpression expression, String operatorValue)

       at SqlSugar.BinaryExpressionResolve.Other(ExpressionParameter parameter)

       at SqlSugar.BinaryExpressionResolve..ctor(ExpressionParameter parameter)

       at SqlSugar.BaseResolve.Start()

       at SqlSugar.LambdaExpressionResolve..ctor(ExpressionParameter parameter)

       at SqlSugar.BaseResolve.Start()

       at SqlSugar.ExpressionContext.Resolve(Expression expression, ResolveExpressType resolveType)

       at SqlSugar.QueryBuilder.GetExpressionValue(Expression expression, ResolveExpressType resolveType)

       at SqlSugar.QueryableProvider`1._Where(Expression expression)

       at SqlSugar.QueryableProvider`1.Where(Expression`1 expression)

       at HH.WCS.TaibaishanNongfu.Program.<Main>d__7.MoveNext() in G:\1AGIT\WCS\HH.WCS\Program.cs:line 428


    0 回复
  • @fate sta: 这是报错和 堆栈信息

    0 回复
  • 版本问题:  5.1.4.110 报错。 5.1.4.111 正常。  
    79cffac9ebffb028bdcfe4bf6137ad19.png92a63a17a5e23a204fd4c264eaeaf75f.png

    0 回复