Я хочу создать систему категорий и подкатегорий для моего сайта. Взяв в качестве примера систему тегов StackOverflow, я хочу представить иерархию, например:
ProgrammingConcepts
Functions
FlowControl
Branching
Looping
Datastructures
List
Tree
Пользователи должны иметь возможность искать это дерево, чтобы пользователь мог искать FlowControl
и получать любые статьи, помеченные как FlowControl
, Branching
или Looping
.
Как мне представить это в моей базе данных? Очевидное решение - иметь такую таблицу:
Categories
CategoryId int <PK>
ParentId int <Nullable>
CategoryName
Я чувствую, что это может быть трудно для запроса, хотя. Я только начинаю изучать asp.net mvc - в частности, система Entity Framework, кажется, работает намного лучше, чем я работал с базой данных. Это хорошо играет с древовидной структурой?