List strs = new List() { "张三3" };
var model = con.QuerySet().Where(u=> strs.Contains(u.Name)).Get();
看到您的代码执行结果,将“strs.Contains(u.Name)”作为MethodCallExpression解析的时候,表达式Object类型是“ConstantExpression”,我尝试实现的时候发现Object是“MemberExpression”类型,这样就没有办法获取strs的值,请问是什么地方出现问题呢?
System.InvalidCastException: Unable to cast object of type 'System.Linq.Expressions.PropertyExpression' to type 'System.Linq.Expressions.ConstantExpression'.
at Sikiro.Dapper.Extension.Expressions.UpdateExpression.VisitMemberInit(MemberInitExpression node)
at System.Linq.Expressions.MemberInitExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitLambda[T](Expression1 node) at System.Linq.Expressions.Expression1.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at Sikiro.Dapper.Extension.Expressions.UpdateExpression..ctor(LambdaExpression expression, ProviderOption providerOption)
at Sikiro.Dapper.Extension.MsSql.MsSqlProvider.FormatUpdate[T](Expression1 updateExpression) at Sikiro.Dapper.Extension.Core.SetC.Command1.Update(Expression`1 updateExpression)