FluentNHibernate и двойная связь между таблицами

#c# #nhibernate

#c# #nhibernate

Вопрос:

У меня есть 2 таблицы, категория и продукт. Категория связана со многими продуктами, поэтому у нас есть отношение один ко многим. Поэтому, когда я хочу сопоставить эти таблицы, я должен добавить коллекцию продуктов в таблицу категорий. Или я прочитал в руководстве по NHibernate, что лучше:

Избегайте размещения коллекции продуктов в объекте Category, поскольку возможно, что категория может содержать сотни, если не тысячи, связанных продуктов. Загружать всю огромную коллекцию продуктов для данной категории было бы неразумно и привело бы к неудовлетворительному времени отклика приложения.

Есть ли какие-либо советы!! Спасибо

Ответ №1:

Достаточно поместить ссылку на категорию в классе продукта, чтобы иметь связь. Наличие коллекции в классе Category не запрещено, только не рекомендуется, если в ней много продуктов и доступ к продуктам через коллекцию. NHibernate по умолчанию лениво загружает коллекцию продуктов в категории, поэтому обычно это не проблема.