question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Investigate] InvalidOperationException from predicate parser

See original GitHub issue

@MaceWindu thank you for the quick response. When you say linq syntax, do you mean query expression syntax?

We have a case where (1) we are using the standard linq methods (no query syntax) and (2) the fields in the anonymous records are alphabetical.

image

We are getting the following error:

image

Stack trace:

>    at LinqToDB.Linq.Builder.ExpressionBuilder.ConvertToSql(IBuildContext context, Expression expression, Boolean unwrap, ColumnDescriptor columnDescriptor, Boolean isPureExpression)
   at LinqToDB.Linq.Builder.ExpressionBuilder.ConvertToExtensionSql(IBuildContext context, Expression expression, ColumnDescriptor columnDescriptor)
   at LinqToDB.EntityFrameworkCore.Internal.EFCoreExpressionAttribute.<>c__1`1.<GetExpression>b__1_1(ValueTuple`4 ctx, String v, String d)
   at LinqToDB.Sql.ExpressionAttribute.<>c__DisplayClass68_0`1.<ResolveExpressionValues>b__0(Match match)
   at System.Text.RegularExpressions.Regex.<>c.<Replace>b__84_0(ValueTuple`5& state, Match match)
   at System.Text.RegularExpressions.RegexRunner.Scan[TState](Regex regex, String text, Int32 textstart, TState& state, MatchCallback`1 callback, Boolean reuseMatchObject, TimeSpan timeout)
   at System.Text.RegularExpressions.Regex.Run[TState](String input, Int32 startat, TState& state, MatchCallback`1 callback, Boolean reuseMatchObject)
   at System.Text.RegularExpressions.Regex.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
   at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
   at LinqToDB.Sql.ExpressionAttribute.ResolveExpressionValues[TContext](TContext context, String expression, Func`4 valueProvider)
   at LinqToDB.EntityFrameworkCore.Internal.EFCoreExpressionAttribute.GetExpression[TContext](TContext context, IDataContext dataContext, SelectQuery query, Expression expression, Func`4 converter)
   at LinqToDB.Linq.Builder.ExpressionBuilder.ConvertToSql(IBuildContext context, Expression expression, Boolean unwrap, ColumnDescriptor columnDescriptor, Boolean isPureExpression)
   at LinqToDB.Linq.Builder.ExpressionBuilder.ConvertToExtensionSql(IBuildContext context, Expression expression, ColumnDescriptor columnDescriptor)
   at LinqToDB.EntityFrameworkCore.Internal.EFCoreExpressionAttribute.<>c__1`1.<GetExpression>b__1_1(ValueTuple`4 ctx, String v, String d)
   at LinqToDB.Sql.ExpressionAttribute.<>c__DisplayClass68_0`1.<ResolveExpressionValues>b__0(Match match)
   at System.Text.RegularExpressions.Regex.<>c.<Replace>b__84_0(ValueTuple`5& state, Match match)
   at System.Text.RegularExpressions.RegexRunner.Scan[TState](Regex regex, String text, Int32 textstart, TState& state, MatchCallback`1 callback, Boolean reuseMatchObject, TimeSpan timeout)
   at System.Text.RegularExpressions.Regex.Run[TState](String input, Int32 startat, TState& state, MatchCallback`1 callback, Boolean reuseMatchObject)
   at System.Text.RegularExpressions.Regex.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
   at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
   at LinqToDB.Sql.ExpressionAttribute.ResolveExpressionValues[TContext](TContext context, String expression, Func`4 valueProvider)
   at LinqToDB.EntityFrameworkCore.Internal.EFCoreExpressionAttribute.GetExpression[TContext](TContext context, IDataContext dataContext, SelectQuery query, Expression expression, Func`4 converter)
   at LinqToDB.Linq.Builder.ExpressionBuilder.ConvertToSql(IBuildContext context, Expression expression, Boolean unwrap, ColumnDescriptor columnDescriptor, Boolean isPureExpression)
   at LinqToDB.Linq.Builder.ExpressionBuilder.SuggestColumnDescriptor(IBuildContext context, Expression expr)
   at LinqToDB.Linq.Builder.ExpressionBuilder.ConvertCompare(IBuildContext context, ExpressionType nodeType, Expression left, Expression right)
   at LinqToDB.Linq.Builder.ExpressionBuilder.ConvertPredicate(IBuildContext context, Expression expression)
   at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSearchCondition(IBuildContext context, Expression expression, List`1 conditions)
   at LinqToDB.Linq.Builder.AllJoinsLinqBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
   at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
   at LinqToDB.Linq.Builder.ExpressionBuilder.Build[T]()
   at LinqToDB.Linq.Query`1.CreateQuery(ExpressionTreeOptimizationContext optimizationContext, ParametersContext parametersContext, IDataContext dataContext, Expression expr)
   at LinqToDB.Linq.Query`1.GetQuery(IDataContext dataContext, Expression& expr, Boolean& dependsOnParameters)
   at LinqToDB.Linq.ExpressionQuery`1.get_SqlText()
   at Database.RepositoryExtra.getAdiLinqQuery(AdiId id) in C:\Work\Clients\Asbest Consulting\asbest-consulting\app\serverTests\RepositoryExtra.fs:line 51
   at Program.serverTests@21-1.Invoke(Unit unitVar) in C:\Work\Clients\Asbest Consulting\asbest-consulting\app\serverTests\Program.fs:line 21
   at Expecto.Impl.execTestAsync@569-1.Invoke(Unit unitVar)
   at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2)
   at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction)

Note that we are using linq2db together with EF Core (https://github.com/linq2db/linq2db.EntityFrameworkCore).

_Originally posted by @jannesiera in https://github.com/linq2db/linq2db/issues/1813#issuecomment-1228304979_

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:11 (7 by maintainers)

github_iconTop GitHub Comments

3reactions
MaceWinducommented, Aug 30, 2022

We will ship workaround in linq2db.EntityFrameworkCore (this or next week). Regarding better F# support in general - I plan to look at it, but it will not happen earlier than October

1reaction
MaceWinducommented, Sep 6, 2022

linq2db.EntityFrameworkCore with fix released

Read more comments on GitHub >

github_iconTop Results From Across the Web

c# - Entity breaks with too many predicates (parser ...
Im not sure will it work or not, but can you try to do filtering in that way: var FilteredExtWithDot = FilteredExt.Select(x=>"." +...
Read more >
LEFT JOIN in F# · Issue #1813 · linq2db ...
InvalidOperationException' in System.Linq.Expressions.dll ... [Investigate] InvalidOperationException from predicate parser #3743.
Read more >
Error in Call Metrics Call Details Report · Issue #131
InvalidOperationException : Could not set the member startTime with ... googleads-dotnet-lib/src/AdWords/Util/Reports/Parser/AwReport.cs.
Read more >
Exception Querying with Linq - Nhibernate
NhRelinqQueryParser ' threw an exception. ----> System.InvalidOperationException : Sequence contains more than one matching element at NHibernate ...
Read more >
The Necessity of Parsing for Predicate Argument Recognition
parsers on unannotated text. In this pa- per, we quantify the effect of parser accu- racy on these systems' performance, and examine the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found