#nhibernate #fluent-nhibernate
#nhibernate #свободно-nhibernate
Вопрос:
Можно ли в любом случае использовать fluent для реализации стратегии таблица для подкласса с дискриминатором? Из всей документации, которую я видел, использование дискриминатора фактически указывает fluent использовать таблицу для каждого класса, а не таблицу для каждого подкласса.
Ответ №1:
У меня похожая проблема. Пока единственный вариант, о котором я смог подумать, — это поместить свойство в базовый класс и защитить его операцию set. Затем любой класс, который наследует базу, устанавливает это свойство в своем конструкторе. Пока я не нашел лучшего способа.
в моем случае у меня есть класс, который ссылается на базовый класс, и я хочу запросить тип подкласса в этой ссылке и отфильтровать его в запросе, но не нашел способа, отличного от того, что я только что предложил.
Ответ №2:
Если у вас есть 1 таблица для каждого подкласса, то разве дискриминатор не является именем таблицы… Другими словами, вам не нужно указывать дискриминатор, если в таблице есть только 1 тип.
Комментарии:
1. ORM может не нуждаться в столбце, но для удобства я хотел бы иметь автоматический столбец «дискриминатор» в таблице, чтобы я мог ограничить свой запрос только определенным типом подкласса. Кроме того, я ищу поддерживаемую стратегию в NHibernate, но я просто не вижу, как это сделать в fluent.