繁体   English   中英

对带有别名的LINQ查询使用自动完成功能

[英]Using autocomplete with LINQ query with an alias

我在使用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 };

我遇到的错误与AnonymousType有关。

如果有人能指出我正确的方向,那就太好了。 谢谢!

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM