Просьба предложить подход/учебник о том, как иерархические структуры управляются с использованием шаблона репозитория с EF4 (Code First) или nHibernate?Иерархическая структура в шаблоне репозитория с использованием EF или NHibernate
В качестве примера, скажем Я, чтобы отобразить следующее:
Topic
-> Comment1
-> Comment1_1
-> Comment1_2
-> Comment1_2_1
Что идеальная структура класса и как он должен соединять с ОРМ и хранилище шаблона? Есть много статей о шаблоне репозитория и EF/nHibernate, но я не смог найти их с иерархической структурой.
Мои мысли о классовой структуре:
Class Topic
{
public int ID {get;set;}
public string Topic {get;set;}
}
Class Comment
{
Public int ID {get;set;}
Public int TopicID {get;set}
Public string Comment {get;set;}
Public int ParentID {get;set;} //recursion will happen here
Public int Level {get;set;} //Can be used to bypass recursion and display topic with all comments with indention based on Level
}
Hi .. спасибо. Это идеальный вариант. Однако я видел сайты, где комментарии частично загружены, и когда вы продолжаете прокручивать, куски комментариев продолжают добавляться. Вероятно, это может быть достигнуто с помощью методов Take() Skip(), но интересной частью является загрузка. Один комментарий на верхнем уровне должен содержать все комментарии. – helloworld
В таком случае вам придется использовать SQL, чтобы получить контроль над количеством компиляторов верхнего уровня, загруженных для каждого запроса. Каждый компилятор верхнего уровня также загружает все свои зависимости. –