投射到班级的Linq
本文关键字:Linq | 更新日期: 2023-09-27 18:01:33
public class MarketViewModel
{
public MarketViewModel()
{
}
public string Item { get; set; }
public List<SubItem> StationName { get; set; }
}
public class SubItem
{
public string Item { get; set; }
}
var active = from actives in activeStations
group actives.StationName by new { actives.Market,actives.StationGroupInt } into g
select new MarketViewModel { Item = g.Key.Market, StationName = g.tolist() };
在上面的LINQ代码中,我的问题是我如何投射到MarketviewModel
,因为你看到stationname是subItem的列表。
StationName = g.tolist()
(我如何重写这部分?)以便它创建一个子项对象列表
编辑
活动实体包含
- stationName(字符串),
- stationgroupInt (int),
- 市场(字符串)
market stationName StationgroupInt
----------------------------------
A B 1
A C 1
A D 1
您可以在组g
上使用Select
来创建子条目。
var active = from actives in activeStations
group actives.StationName by new { actives.Market,actives.StationGroupInt } into g
select new MarketViewModel {
Item = g.Key.Market,
StationName = g.Select(stationName => new SubItem {
Item = stationName
}).Tolist()
};