为什么我不能在OData中使用LINQ的First / FirstOrDefault方法?

时间:2013-04-26 16:03:15

标签: linq odata

我可以做以下事情:

container.Users.Where(u => u.Name == "Omar").FirstOrDefault()

container.Users.FirstOrDefault(u => u.Name == "Omar")

返回NotSupportedException (The method 'FirstOrDefault' is not supported.)

由于这些基本相同,为什么不支持?

1 个答案:

答案 0 :(得分:11)

OData提供程序使用的LINQ Translation引擎无法处理所有方案。

虽然它们在逻辑上是相同的,但必须生成每个表达式以构建查询字符串。引擎不支持第二种形式。