LiteDB icon indicating copy to clipboard operation
LiteDB copied to clipboard

[BUG] `The method or operation is not implemented` when Expression contains FormattedString

Open juwens opened this issue 3 years ago • 1 comments

Version
5.0.12

Describe the bug

The method or operation is not implemented.
   at LiteDB.StringResolver.ResolveMethod(MethodInfo method)
   at LiteDB.LinqExpressionVisitor.VisitMethodCall(MethodCallExpression node)
   at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
   at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
   at LiteDB.LinqExpressionVisitor.VisitAsPredicate(Expression expr, Boolean ensurePredicate)
   at LiteDB.LinqExpressionVisitor.VisitBinary(BinaryExpression node)
   at System.Linq.Expressions.BinaryExpression.Accept(ExpressionVisitor visitor)
   at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
   at System.Linq.Expressions.ExpressionVisitor.VisitLambda[T](Expression`1 node)
   at LiteDB.LinqExpressionVisitor.VisitLambda[T](Expression`1 node)
   at System.Linq.Expressions.Expression`1.Accept(ExpressionVisitor visitor)
   at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
   at LiteDB.LinqExpressionVisitor.Resolve(Boolean predicate)
   at LiteDB.BsonMapper.GetExpression[T,K](Expression`1 predicate)
   at LiteDB.LiteCollection`1.FindOne(Expression`1 predicate)

Code to Reproduce

var db = new LiteDatabase();
db.GetCollection<MyDto>().Insert(new MyDto{MyStringProperty ="foo.bar"});
var strA = "foo";
var strB = "bar";
db.GetCollection<MyDto>().FindOne(x => x.MyStringProperty == $"{strA}.{strB}");

Expected behavior
no exception

Additional Infos It might be related to #1392 or #2121, but i think it's a different issue.

juwens avatar Aug 04 '22 10:08 juwens

image i think it not support now

pjy612 avatar Sep 09 '22 02:09 pjy612