У меня есть следующие таблицы:
- Приложение
- Компонент
- Позиция
Приложение может иметь от 1 до многих КомпонентовПриложение может иметь от 1 до нескольких позиций.
Когда я пытаюсь запустить объединение с помощью NHibernate, например:
IEnumerable<Application> applications = Session.Query<Application>()
.FetchMany(r => r.Components)
.FetchMany(r => r.Positions)
, и я смотрю на список позиций, в котором есть дублирующиеся позиции.Это исчезнет, если я удалю первые FetchMany()
:
IEnumerable<Application> applications = Session.Query<Application>()
.FetchMany(r=>r.Positions)
Я думал, что NHibernate позаботится о нормализации ваших коллекций при выполнении нескольких объединений от 1 до многих, но, похоже, это не работает.
Какие-либо предложения или обходные пути о том, как разрешить мне выполнять несколько соединений «1 ко многим» с помощью NHibernate LINQ, не получая эти дубликаты записей?