दो वर्ग हैं:

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; }
    //...
}

मुझे स्थानीयकरण इटैम सूची प्राप्त करने और इसके साथ स्थानीयकरण पृष्ठ भरने की आवश्यकता है।

इस प्रकार मैं स्थानीयकरण समूह सूची भरता हूं:

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()
    });
}

किसी भी तरह लिंक का उपयोग करके इसे सरल कैसे करें?

List<LocalizationPage> LocalizationGroups = _context.Localization
    .GroupBy(p => p.Page)
    .Select(grp => grp.ToList())
    //...
    .ToList();
0
mr_blond 31 अक्टूबर 2018, 19:00

1 उत्तर

सबसे बढ़िया उत्तर

आप इसे Select के भीतर कर सकते हैं

var localizationGroups =  _context.Localization
                                  .GroupBy(p => p.Page)
                                  .Select(group => new LocalizationPage
                                  {
                                      Title = group.Key,
                                      LocalizationItemList = group.ToList()
                                  })
                                  .ToList();
2
Diego Torres 31 अक्टूबर 2018, 16:07