需要分组并发送到json格式mvc的sql查询

时间:2015-02-04 09:24:35

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

这是我尝试实施的当前方法

 var emails = db.AuditAll.Where(m => m.UserName.Contains(search))
    .GroupBy(g => g.UserName)
    .Select(m => new 
    { 
        name = m.OrderBy(o => o.UserName), 
        value = "", 
        AdditionInfo = "" 
    })
    .ToList();

    return Json(emails, JsonRequestBehavior.AllowGet);

但是当它在html中显示时,它只显示[object Object]但它必须是电子邮件地址。

一旦我取出groupBy,结果就会被正确提供,但它会显示表中被称为的每个用户名并不重要提供相同用户名的次数。

我正在尝试使用发回的结果实现typeahead。

1 个答案:

答案 0 :(得分:1)

Linq中的

GroupBy返回IEnumerable<IGrouping<TKey, TElement>>,它是按键分组的元素的集合。因此,如果您只想通过UserName获取不同的元素。你可以尝试这段代码。

     var emails = db.AuditAll.Where(m => m.UserName.Contains(search))
     .GroupBy(g => g.UserName)
     .Select(grp => grp.First())
     .Select(m => new 
     { 
       name = m.UserName, 
       value = "", AdditionInfo = "" 
     })
     .ToList();

希望它有所帮助!!!