Ich habe eine einfache Klasse mit einer int-Eigenschaft namens Int:
public class TestObject
{
public int Int { get; set; }
}
und wherePredicate "Int> = 90"
Wenn ich versuche, es mit einem IQueryable.Where (wherePredicate) zu verwenden, tritt der Fehler auf: System.Linq.Dynamic.Core.Exceptions.ParseException: '.' oder '(' oder String-Literal erwartet
Wenn ich wherePredicate in "It.Int> = 90" ändere, funktioniert dies wie erwartet.
Int
ist ein reserviertes Schlüsselwort.
Verwenden Sie einen anderen Eigenschaftsnamen:
void Main()
{
var l = new List<TestObject>();
var q = l.AsQueryable();
var result = q.Where("X >= 90");
result.Dump(); // LINQPad
}
public class TestObject
{
public int X { get; set; }
}