[英]How do I convert from GroupBy() to object with Linq?
有两个类:
public class LocalizationPage
{
public string Title { get; set; }
public List<LocalizationItem> LocalizationItemList { get; set; }
}
public class LocalizationItem
{
public int Id { get; set; }
public string Key { get; set; }
//...
}
我需要获取LocalizationItem列表并用它填充LocalizationPage。
这就是我填写LocalizationGroups列表的方式:
var LocalizationGroupsTemp = db.Localization.GroupBy(p => p.Page);
List<LocalizationPage> LocalizationGroups = new List<LocalizationPage>();
foreach (var item in LocalizationGroupsTemp)
{
LocalizationGroups.Add(new LocalizationPage
{
Title = item.Key,
LocalizationItemList = item.ToList()
});
}
如何以某种方式使用Linq来简化它?
List<LocalizationPage> LocalizationGroups = _context.Localization
.GroupBy(p => p.Page)
.Select(grp => grp.ToList())
//...
.ToList();
您可以在“ Select
执行此操作
var localizationGroups = _context.Localization
.GroupBy(p => p.Page)
.Select(group => new LocalizationPage
{
Title = group.Key,
LocalizationItemList = group.ToList()
})
.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.