Та же таблица NHibernate mapping - PullRequest
       370

Та же таблица NHibernate mapping

0 голосов
/ 02 апреля 2012

Как я могу определить одно и то же сопоставление табличных отношений (mappingbycode) с помощью Nhibernate

например, скажем, у меня есть класс:

public class Structure{
 public int structureId;
 public string structureName;
 public Structure rootStructure;
}

, который ссылается на тот же класс, что и rootStructure.

 mapper.Class<Structure>(m =>
            {
                m.Lazy(true);
                m.Id(u => u.structureId, map => { map.Generator(Generators.Identity); });
                m.Property(c => c.structureName);
                m.? // Same table mapping 
}
 ;

Спасибо

1 Ответ

1 голос
/ 02 апреля 2012

Специального отображения для рекурсивных отображений мне не известно. Просто сопоставьте это, как если бы вы сопоставили коллекцию другого класса. В вашем случае это должно работать (хотя и не проверено):

m.OneToOne(c => c.rootStructure, a => a.Lazy(LazyRelation.Proxy))

NHibernate будет предполагать, что внешний ключ для этого отношения хранится в столбце rootStructure таблицы, связанной с этим классом.

...