Мне нужен способ определения имени столбца, используемого NHibernate для объединения коллекций «один ко многим» из типа собранной сущности.
Мне нужно иметь возможность определить это во время выполнения.
Вот пример: у меня есть несколько сущностей:
namespace Entities
{
public class Stable {
public virtual int Id {get; set;}
public virtual string StableName {get; set;}
public virtual IList<Pony> Ponies { get; set; }
}
public class Dude {
public virtual int Id { get; set; }
public virtual string DudesName { get; set; }
public virtual IList<Pony> PoniesThatBelongToDude { get; set; }
}
public class Pony {
public virtual int Id {get; set;}
public virtual string Name {get; set;}
public virtual string Color { get; set; }
}
}
Я использую NHibernate для генерации схемы базы данных, которая выглядит примерно так:
create table "Stable" (Id integer, StableName TEXT, primary key (Id))
create table "Dude" (Id integer, DudesName TEXT, primary key (Id))
create table "Pony" (Id integer, Name TEXT, Color TEXT, Stable_id INTEGER, Dude_id INTEGER, primary key (Id))
Учитываячто в моем коде есть сущность Pony
, я должен иметь возможность узнать:
- A.
Pony
принадлежит ли даже коллекция в отображении? - B.Если да, то какие имена столбцов в таблице базы данных 1019 * относятся к коллекциям
В приведенном выше примере я хотел бы видеть, что Pony
имеет два столбца коллекции, Stable_id
и Dude_id
.