When I’m using a LINQ query built with the use of SqlMethods.Like() variant which uses an escape character over a DataContext associated with an SQLite backend, its execution throws the following exception:
Code: Select all
System.InvalidOperationException
HResult=0x80131509
Message = Could not format node 'Value' for execution as SQL.
Source = Devart.Data.Linq
StackTrace:
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.a(SqlConstant A_0)
in Devart.Data.Linq.Engine.SqlVisitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.a(a0 A_0)
in Devart.Data.Linq.Engine.SqlVisitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.a(SqlSelect A_0)
in Devart.Data.Linq.Engine.SqlVisitor.c(h A_0)
in Devart.Data.Linq.Engine.SqlVisitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlVisitor.b(a5 A_0)
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.a(a5 A_0)
in Devart.Data.Linq.Engine.SqlVisitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlFormatter.Visitor.Visit(SqlNode node)
in Devart.Data.Linq.Engine.SqlFormatter.a(SqlNode A_0, CommandType& A_1)
in Devart.Data.Linq.Engine.cy.d(Expression A_0)
in Devart.Data.Linq.Engine.cy.f(Expression A_0)
in Devart.Data.Linq.DataProvider.a(Expression A_0)
in Devart.Data.Linq.Engine.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
in SqliteTest.Program.Main(String[] args) in [path]\SqliteTest\Program.cs:line 52
Here I am including a ZIP archive with a demo C# project which reproduces the problem: [SqliteTest.zip]