首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC复杂数据查询

MVC复杂数据查询
EN

Stack Overflow用户
提问于 2013-02-13 01:02:25
回答 1查看 78关注 0票数 0

我有一个问题如下:“表

  1. 伦敦公寓
  2. 伦敦公寓
  3. 伦敦大厦
  4. 巴黎公寓
  5. 巴黎公寓
  6. 巴黎大厦
  7. 巴黎之家

我希望在linq中将其转换为下面的对象。任何人都请帮帮我。

代码语言:javascript
运行
复制
 public class BrowseModel
{
    public string TownName { get; set; }

    public int FlatCount { get; set; }

    public int HouseCount { get; set; }

}

其结果必须是:

  1. 伦敦2楼1楼
  2. 巴黎2层2栋房屋
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-13 13:31:56

嗨,如果我没有理解错你的问题,你可以这样试一试

代码语言:javascript
运行
复制
    public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = this;
        //Ignore above code
        List<Table> list = new List<Table>();
        //Suppose this what you db returns
        list.Add(new Table() { TownName = "London", HouseType = HouseType.Flat });
        list.Add(new Table() { TownName = "London", HouseType = HouseType.Flat });
        list.Add(new Table() { TownName = "London", HouseType = HouseType.House });
        list.Add(new Table() { TownName = "Paris", HouseType = HouseType.Flat });
        list.Add(new Table() { TownName = "Paris", HouseType = HouseType.Flat });
        list.Add(new Table() { TownName = "Paris", HouseType = HouseType.House });
        list.Add(new Table() { TownName = "Paris", HouseType = HouseType.House });

        var result = list.GroupBy(o => o.TownName).Select(s => new BrowseModel() { TownName = s.First().TownName, FlatCount = s.Where(f => f.HouseType == HouseType.Flat).Count(), HouseCount = s.Where(h => h.HouseType == HouseType.House).Count() }).ToList();
    } 
}

public class BrowseModel
{
    public string TownName { get; set; }

    public int FlatCount { get; set; }

    public int HouseCount { get; set; }

}

public class Table
{
    public string TownName { get; set; }
    public HouseType HouseType { get; set; }
}

public enum HouseType
{ 
    House=0,
    Flat=1
}

我希望这能给你个主意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14844769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档