【问题标题】:Using autocomplete with LINQ query with an alias使用带有别名的 LINQ 查询的自动完成
【发布时间】:2014-06-19 15:45:33
【问题描述】:

我正在使用带有 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 有关。

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

【问题讨论】:

    标签: c# json asp.net-mvc linq autocomplete


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-05-27
      • 1970-01-01
      • 2019-01-01
      • 2011-04-23
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      相关资源
      最近更新 更多