0

The are two classes:

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

I need to get a LocalizationItem list and fill a LocalizationPage with it.

That's how I fill the LocalizationGroups list:

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

How to simplify it with using Linq somehow like this?

List<LocalizationPage> LocalizationGroups = _context.Localization .GroupBy(p => p.Page) .Select(grp => grp.ToList()) //... .ToList(); 
1
  • 2
    .Select(grp =>new LocalizationPage {Title = grp .Key,LocalizationItemList = grp .ToList() }) something like this Commented Oct 31, 2018 at 16:05

1 Answer 1

2

You can do it within the Select

var localizationGroups = _context.Localization .GroupBy(p => p.Page) .Select(group => new LocalizationPage { Title = group.Key, LocalizationItemList = group.ToList() }) .ToList(); 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.