У меня есть иерархия категория таблицы, как этотFluent NHibernate Отображение и получение иерархии Таблица
Id int,
Description varchar(100),
ParentId int,
Ordinal int,
IsActive bit
Я хочу, чтобы принести все Категории от родителя к ребенку, поэтому, когда я назвал session.get<Category>(id)
, это уже извлекаться все их дети. Вот моя карта и класс:
class Category
{
public virtual int Id {get; set;}
public virtual string Description {get; set;}
public virtual int ParentId {get; set;}
public virtual int Ordinal {get; set;}
public virtual bool IsActive {get; set;}
}
class CategoryMap : ClassMap<Category>
{
public CategoryMap()
{
Table("TB_CATEGORY");
Id(f => f.Id).GeneratedBy.Native();
Map(f => f.Description);
Map(f => f.ParentId);
Map(f => f.Ordinal);
Map(f => f.IsActive);
}
}
Я искал так много статей, и я до сих пор путают при использовании их решения, потому что они не говорят мне о структуре таблицы и отображений. Как и этот, от ayende blog, я считаю его хорошим решением, но я не могу следовать ему достаточно хорошо, чтобы применить его в своем проекте. Может ли кто-нибудь дать мне шаг за шагом учебник, чтобы достичь этого? Являются ли мои карты и класс правильными?
спасибо за отображение и кода класса и есть обеспечить, это действительно поможет мне много, чтобы лучше понять. Но поскольку я пытаюсь выполнить код запроса выше, результат неверен и так много записей было возвращено, и метод AsList больше не принимал строку в качестве аргумента. Я использую NH v3.3, возможно, у меня использовалась другая версия, чем у меня. –
AsList теперь использует лямбда для настройки отображения списка, я исправил код. Я думаю, что результатов слишком много, потому что Equals и GetHashCode ошибочны. Я добавил простую реализацию кода. – Firo