Таблица поиска FluentNHibernate

Это, возможно, легко, что я не могу пройти мимо.

Я создал класс «Продукт», в котором есть список «Аксессуаров». Каждый «аксессуар» — это просто еще один продукт, на который ссылается справочная таблица.

Настройка стола:

Product
-------
ProductID int
Name varchar(200)

AccessoryProduct
----------------
ID int
ParentProductID int
ChildProductID int

Я хотел бы иметь доступ к этому списку аксессуаров таким образом, как:

foreach(Product p in product.Accessories)
 string s = p.Name;

Часть, на которой я застрял, — это сопоставление FluentNHibernate для этого поиска. В моем классе ProductMap у меня есть следующее сопоставление:

Id(x => x.ProductID);
Map(x => x.Name);
HasMany(x => x.Accessories)
 .Table("AccessoryProduct")
 .KeyColumn("ParentProductID")
 .Cascade.None()
 .Inverse()
 .LazyLoad();

В настоящее время создается запрос, который ищет «ParentProductID» в таблице Product вместо таблицы поиска (AccessoryProduct).

Есть ли простой метод, который мне не хватает, который позволяет быстро отображать таблицу поиска?

Приветствуется любая помощь, даже если она связана с отображением xml. Я должен быть в состоянии понять беглую сторону.


person Alexis Abril    schedule 29.09.2009    source источник


Ответы (1)


Вам нужна связь «многие ко многим».

Пытаться:

 HasManyToMany(x => x.Accessories)
 .Table("AccessoryProduct")
 .ParentKeyColumn("ParentProductID")
 .ChildKeyColumn("ChildProductID")
 .Cascade.None()
 .Inverse()
 .LazyLoad();
person JustinT    schedule 29.09.2009