我在控制器的 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);
postsisIOrderedQueryable并且对 where 的调用返回一个IQueryable. 为什么不显式声明变量并查看它是否解决了问题。