这个查询有什么问题,我该如何修复它?
public JsonResult Find(string q)
{
var k = new List<string>(q.Split(' '));
return Json(_dataContext.Jobs
.OrderBy(p => new List<string>(p.Keywords.Split(' ')).Where(n => k.Contains(n)).Count())
.Select(p => new { p.Title, p.IsFullTime, p.Location, p.Category, p.Url, p.Id }),
JsonRequestBehavior.AllowGet);
}
它抛出如下错误:
方法 'System.String[] Split(Char[])' 无法被转换为 SQL。
该代码旨在按照每行中 Keywords
与 q
共享单词的数量对结果进行排序,因此您共享的单词越多,排名越高。
谢谢。
另外:如果可以使用Lucene.NET来改进这段代码,我很乐意看到一个简短的例子 :)
new List<T>
。您可以直接使用Split
的结果。 - Timwi