Свободное владение NHibernate - отношение многие к одному - PullRequest
0 голосов
/ 21 июля 2010

Существует таблица Продукты и Категории .Многие продукты имеют одну категорию.Итак, как в Product Mapping как написать правильный код для сопоставления с его категорией?

В классе Product:

  • Это что-то вроде: References (x => x.Категория). Колонна ........

Ответы [ 2 ]

1 голос
/ 21 июля 2010

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

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 голосов
/ 21 июля 2010

Если между продуктами и категориями существует отношение «многие-к-одному», в результате чего у продукта есть не более одной категории, сопоставление будет следующим:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...