sql需要分组发送到json格式mvc的查询
sql query that needs to be grouped and sent to json format mvc
这是我正在尝试实现的当前方法
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
结果就会正确提供,但它会显示所调用的 table 中的每个用户名,这与提供了多少次相同的用户名无关.
我正在尝试使用发回的结果实现提前输入。
GroupBy
in Linq returns 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();
希望对您有所帮助!!!
这是我正在尝试实现的当前方法
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
结果就会正确提供,但它会显示所调用的 table 中的每个用户名,这与提供了多少次相同的用户名无关.
我正在尝试使用发回的结果实现提前输入。
GroupBy
in Linq returns 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();
希望对您有所帮助!!!