小编Edg*_*ant的帖子

按属性分类的正确方法

我做了一个C#LINQ查询,按属性对(或组)进行分类,我几乎可以肯定有更好的方法.我的项目充满了这些查询,所以我真正感兴趣的是如何以正确的方式实现这一目标.

这是我的查询的样子:

var g = _repository.GetEmployees();
var result = 
    g.GroupBy(x => x.City, (key, group) => group.First())
    .Select(x => new { 
        city = x.City,
        employees = g
            .Where(y=>y.EmployeeID == x.EmployeeID)
            .Select(y=> new {
                fullname = y.FirstName + " " + y.LastName,
                title = y.Title
            })
            .OrderBy(y=>y.fullname)
    })
    .OrderBy(x => x.city);
Run Code Online (Sandbox Code Playgroud)

JSON输出示例:

[
    {
        "city":"Barcelona",
        "employees":[
            {
                "fullname":"Foo Bar",
                "title":"Help Desk Technician"
            },
            {
                "fullname":"Lorem Ipsum",
                "title":"Information Technology Director"
            }
        ]
    },
    {
        "city":"London",
        "employees":[
            {
                "fullname":"Le Query",
                "title":"Information Technology Manager"
            }, …
Run Code Online (Sandbox Code Playgroud)

c# linq

3
推荐指数
1
解决办法
95
查看次数

标签 统计

c# ×1

linq ×1