我在控制器的 searchString 中有这个错误..
这是我的代码:
if (!String.IsNullOrEmpty(searchString))
{
posts = posts.Where(post => post.Body == searchString);
}
我正在使用此代码在我的索引中进行搜索。我在这里声明有什么问题吗?我已经尝试过谷歌搜索,但没有找到明确的答案。提前感谢任何可以帮助我的人..
我在控制器的 searchString 中有这个错误..
这是我的代码:
if (!String.IsNullOrEmpty(searchString))
{
posts = posts.Where(post => post.Body == searchString);
}
我正在使用此代码在我的索引中进行搜索。我在这里声明有什么问题吗?我已经尝试过谷歌搜索,但没有找到明确的答案。提前感谢任何可以帮助我的人..
最可能的原因是您var
在posts
具有OrderBy
. 如果您将其替换为
IQueryable<Post> posts = someSource.Where(cond).OrderBy(/*the culprit*/);
错误应该消失。
您的posts
变量似乎是类型IOrderedQueryable<Post>
,但您正在为其分配 IQueryable<Post>
. 我看到 2 种方法来解决这个问题,要么修改你的变量类型,要么IQueryable<Post>
像这样对你的查询进行排序:
posts = posts.Where(post => post.Body == searchString)
.OrderBy(post => post.Date);
posts
isIOrderedQueryable
并且对 where 的调用返回一个IQueryable
. 为什么不显式声明变量并查看它是否解决了问题。