使用带有别名的LINQ查询自动补全
本文关键字:查询 LINQ 别名 | 更新日期: 2023-09-27 18:09:28
我使用自动补全与LINQ查询。当我不为列使用别名时,代码可以工作,但当我使用别名时,代码会出现错误。下面是有效的代码:
var suggestions = from v in db.ValueDocument
select v.HeaderTitle;
var namelist = suggestions.Where(n => n.ToLower().StartsWith(term.ToLower()));
return this.Json(namelist, JsonRequestBehavior.AllowGet);
如果我把查询改为下面,它会得到一个错误。
var suggestions = from v in db.ValueDocument
select new { Header = v.HeaderTitle };
我得到的错误与匿名类型有关。
如果有人能给我指出正确的方向,那就太好了。谢谢!LINQ没有为你的别名建议提供对象模型。
我将为这个别名ValueDocument创建一个模型:
public class ValueDocumentAlias
{
public string Header {get;set;}
}
然后修改代码如下:
var suggestions = from v in db.ValueDocument
select new ValueDocumentAlias{ Header=v.HeaderTitle };
var namelist = suggestions.Where(n => n.Header.ToLower().StartsWith(term.ToLower()));
return this.Json(namelist, JsonRequestBehavior.AllowGet);