Как Вы отображаете объект-> интерфейсные отношения с помощью Быстрого NHibernate?

PyChart "- это библиотека Python для создания высококачественных диаграмм Encapsulated Postscript, PDF, PNG или SVG ."

7
задан Kyle West 20 June 2009 в 18:49
поделиться

4 ответа

Попробуйте сопоставить интерфейс IProduct вместо конкретного класса Product . (Обратите внимание, я не говорю о сопоставлении поля Product класса Order .)

2
ответ дан 7 December 2019 в 03:19
поделиться

Вы можете сопоставить отношение интерфейс-> реализация как отношение наследования, используя соответствующую модель наследования.

Это будет означать сопоставление IProduct, а затем создание карты подкласса продукта в сопоставлении IProduct , например, с использованием иерархии "таблица на иерархию".

Это также позволит вам сопоставить дополнительные данные в классе продукта, который не является частью интерфейса IProduct, а также позволит сопоставить дополнительные реализации IProduct таким же образом, если вы хотите .

1
ответ дан 7 December 2019 в 03:19
поделиться

Я работал над улучшением поддержки интерфейсов прокси в Fluent. К выпускам 256 и 257 прилагалась пара полезных патчей, но им действительно нужно было все, что указывалось вручную. Я' Мы сделали еще один шаг вперед и добавили поддержку настройки прокси и изменения типов ссылок с предполагаемого (который будет прокси) на базовый сопоставленный класс, а также добавили новое соглашение (ProxyConvention) для автоматической настройки всего этого - просто создайте его с помощью функции для получения интерфейса прокси из сопоставленного класса, и он должен позаботиться обо всем остальном.

Единственная лазейка на данный момент заключается в том, что он не может получить какие-либо определения, явно указанные в файлах .hbm.xml.

Патч прилагается к проблеме 256

1
ответ дан 7 December 2019 в 03:19
поделиться

Я думаю, что вы ищете .References (x => x.Product, "ProductId");

Между прочим, то же самое верно и для .HasMany <>

Похоже, это то же самое, что <... class = "Product" /> в xml

. Я бы не рекомендовал сопоставление с интерфейсом, поскольку он ломается. весь смысл использования одного - вы сталкиваетесь с проблемами, как только он начинает реализовывать IStorable, а NH не может справиться с множественным наследованием.

5
ответ дан 7 December 2019 в 03:19
поделиться
Другие вопросы по тегам:

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