Reputation: 44326
I'm constructing a Dynamic LINQ query like this:
"Guid=Guid(\"" + entityId + "\")"
This is eventually passed into a .Where()
query, somewhere in the code that I call.
I'm getting this error:
ParseException: '.' or '(' expected
This seems to be because it doesn't find the Guid
property, but rather the Guid
function.
How can I query on the Guid
property of my object?
Upvotes: 0
Views: 179
Reputation: 2057
Just to tidy up Kendall's answer I think the more elegant approach is to let Dynamic LINQ handle the type conversions by using parameterized queries.
myIqueryable1.Where("@Guid=@0", entityId)
Upvotes: 0
Reputation: 44326
Guid
is indeed a keyword. You can escape keyword identifiers by prefixing them with @
.
The correct expression looks like this:
"@Guid=Guid(\"" + entityId + "\")"
Upvotes: 1