В чем разница между HasOne()
и References()
в nhibernate?
Каковы различия между HasOne и ссылками в nhibernate?
Ответ 1
HasOne
создает для вас сопоставление "один к одному" между таблицами. References
создает типичную взаимосвязь "много-к-одному".
Более определен:
- отношение "один к одному" означает, что когда одна запись существует в одной таблице, она должна (или может) иметь одну и не более одной записи в другой ссылочной таблице. Пример: таблица "Таблица пользователей" и "Параметры" (один пользователь имеет один фиксированный набор параметров).
- отношение "много-к-одному" означает, что когда одна запись существует в одной таблице, она может иметь много связанных записей в другой таблице. Пример: таблица пользователя и таблица покупки (один пользователь может делать много покупок).
Примечание: где я говорю таблицу, вы можете безопасно заменить класс или объект, как хотите, при использовании FluentNH легко использовать их взаимозаменяемо.
Это более подробно объясняется в этой бесплатной статье wiki.