SqlSugar.ResolveExpress.StartsWith C# (CSharp) Method

StartsWith() private method

拉姆达StartsWith函数处理
private StartsWith ( string methodName, MethodCallExpression mce, bool isTure ) : string
methodName string
mce System.Linq.Expressions.MethodCallExpression
isTure bool
return string
        private string StartsWith(string methodName, MethodCallExpression mce, bool isTure)
        {
            MemberType leftType = MemberType.None;
            MemberType rightType = MemberType.None;
            var left = CreateSqlElements(mce.Object, ref leftType,true);
            var right = mce.Arguments[0].NodeType.IsIn(ExpressionType.Constant, ExpressionType.MemberAccess) ? CreateSqlElements(mce.Arguments[0], ref rightType, true) : Expression.Lambda(mce.Arguments[0]).Compile().DynamicInvoke().ObjToString();
            Check.Exception(leftType == MemberType.Value, string.Format(ExpMethodError, methodName));
            var oldLeft = AddParas(ref left, right + '%');
            return string.Format("({0} {1} LIKE " + SqlSugarTool.ParSymbol + "{2})", oldLeft.GetTranslationSqlName(), null, left);
        }