Вопрос по nhibernate-mapping, c#, nhibernate, fluent-nhibernate – Как сопоставить защищенную коллекцию в Fluent NHibernate?

5

Я попытался использовать свойство Reveal во Fluent, но не могу его скомпилировать с коллекцией. Я хочу, чтобы одна из моих коллекций в сущности была защищена и не была доступна нигде, кроме самой сущности. Это возможно? Спасибо

Редактировать:

Вот код, который я пытаюсь использовать,

HasMany<Trip>(x => Reveal.Property<Trip>("_trips"));

Я также пробовал этот код,

HasMany<Trip>(Reveal.Property<Organization>("_trips"));

Каждый раз, когда мое приложение запускается, NHibernate говорит, что оно не может сопоставляться с «Свойством». или он выбрасывает неизвестное исключение.

Как твоеTrip модель определена? Daniel A. White
Неужели вы когда-нибудь получили ответ на исключение Nhibernate по «Свойству», я получаю то же самое LordSauron
Reveal должен работать с коллекциями, стараться показать нам, как вы это делаете? James Gregory
Это выглядит правильно? CalebHC

Ваш Ответ

1   ответ
8

IList& Lt; & Маршрутный GT;

HasMany<Trip>(Reveal.Property<Organization>("_trips"));

код должен работать. Убедитесь, что это свойство и что вы защитили геттеры и сеттеры (приватные файлы работать не будут, так как NHibernate захочет проксировать коллекцию для отложенной загрузки).

Да, существует много вариантов этого синтаксиса, которые кажутся правильными, но не работают. Что меня обмануло, так это Reveal.Member & lt; TYPE & gt; является классом-владельцем, а не типом списка
Вы можете использовать поля. В FNH я думаю, что вам нужно изменить модификатор .Access и должна быть опция для поля
Как вы говорите, я думаю, ключ в том, чтобы убедиться, что это IList, а не список. Я просто обращаю внимание на эту деталь, так как я только что прочитал ваш ответ и затем приступил к реализации в виде списка & lt; T & gt; ... возможно, этот комментарий поможет кому-то еще избежать этой ошибки.
очень поздний комментарий на эту тему. Но знаете ли вы, удовлетворен ли Nhibernate полем? Или вам нужно использовать свойства? Я бы предпочел поле в моем текущем проекте

Похожие вопросы