2010-07-21 2 views
0

Существует таблица Товары и Категории. Многие продукты имеют одну категорию. Итак, в приложении Product mapping, как я могу написать правильный код для сопоставления с его категорией?Fluent NHibernate - много к одному Соотношение

В классе продукта:

  • ли это что-то вроде: References (х => x.Category) .Column ........

ответ

1

Если вы имеете в виду категории имеет много продуктов вам нужно что-то вроде этого:

public class ProductMap : ClassMap<Product> 
{ 
    public ProductMap() 
    { 
     Table("products"); 
     Id(x => x.Id); 
     Map(x => x.Name) 
     References(x => x.Category).Column("CategoryId"); 
    } 
} 


public class CategoryMap : ClassMap<Category> 
{ 
    public CategoryMap() 
    { 
     Table("categories"); 
     Id(x => x.Id); 
     Map(x => x.Name); 
     HasMany(x => x.Products).LazyLoad().Inverse().Cascade.All(); 
    } 
} 
0

Если это многочастичный к-одному из продуктов таких категорий, что продукт имеет более одной категории, отображение:

References(x => x.Category, "CategoryId"); 

предполагая CategoryId является внешним ключом в таблице Products. Однако в вашем вопросе говорится, что «у многих продуктов есть одна категория». поэтому неясно, каковы отношения.

Смежные вопросы