У меня есть таблица базы данных с именем MenuItem (MenuItemID, ParentMenuItemID, MenuItemName). Я хочу использовать это для заполнения элемента управления Menu (возможно, элемента управления .NET Menu).
У каждого MenuItem есть родительский элемент. Если нет родителя, это пункт меню верхнего уровня. Я сделал класс LINQ to SQL, сопоставленный с таблицей MenuItem. Поскольку моя таблица имеет внешний ключ от ParentMenuItemID к MenuItemID, мой автоматически сгенерированный класс MenuItem содержит коллекцию MenuItem. Эта коллекция должна содержать все дочерние элементы пункта меню.
Результат должен храниться в списке.
Возможно ли в одном запросе получить:
- все пункты меню верхнего уровня
- все дочерние элементы элементов меню верхнего уровня, собранные под их родительскими объектами
Не должно быть никаких проблем для извлечения элементов меню верхнего уровня, а затем для их итерации и запроса для каждого дочернего элемента, или для извлечения всех элементов меню, а затем для помещения их в правый родительский элемент. Но если бы это можно было сделать одним запросом ... Я был бы счастлив :)