У меня есть список классов записей, поэтому пользователь может выбрать динамическое группирование строк по имени свойства. Например, MenuText
, RoleName
или ActionName
. Затем мне нужно выполнить группировку, поэтому мне нужен общий метод для обработки группировки путем передачи имени столбца.LINQ Группировка динамически
Пример:
public class Menu
{
public string MenuText {get;set;}
public string RoleName {get;set;}
public string ActionName {get;set;}
}
public class Menus
{
var list = new List<Menu>();
list.Add(new Menu {MenuText="abc",RoleName ="Admin", ActionName="xyz"};
list.Add(new Menu {MenuText="abc",RoleName ="Admin", ActionName="xyz"};
list.Add(new Menu {MenuText="abc1",RoleName ="Admin1", ActionName="xyz1"};
list.Add(new Menu {MenuText="abc1",RoleName ="Admin1", ActionName="xyz1"};
/// columnName :- Name of the Menu class (MenuText or RoleName or ActionName)
public IEnumerable<IGrouping<string,IEnumerable<Menu>>> GroupMenu(string columnName)
{
// Here I want to get group the list of menu by the columnName
}
}
Но мне нужно получить данные из базы данных SQL Server –
, можете ли вы обратиться ко мне любым примером, если у вас есть на динамическом linq –
@ineffablep в последней строке кода в моем ответе (где GroupBy принимает строку как параметр). Дополнительные примеры (и информация) по ссылке (строка перед последним примером кода). –