[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.
We are getting the following error:
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:
- Created a year ago
- Comments:11 (7 by maintainers)
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
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
linq2db.EntityFrameworkCore with fix released