Составная ключевая ссылка nhibernate генерирует несколько запросов - PullRequest
1 голос
/ 02 ноября 2011

у нас есть ключевая ссылка в составном идентификаторе, как показано ниже

table ("parent");Composidid () .keyreference (e => Obj, "sample");

. Это генерирует отдельные запросы для obj для каждой строки в родительском элементе.Как решить эту проблему ?Главным образом, как контролировать выборку (внутреннее соединение) здесь для ключевой ссылки?

Пожалуйста, помогите

1 Ответ

0 голосов
/ 07 ноября 2011

вы можете настроить отображение ключей.проще всего было бы отключить lazyloading

.KeyReference(e => e.Obj, c => c.Not.Lazy());

, однако вместо соединения он будет использовать select.Но при использовании запроса NH использует соединение

var loaded = session.Query<Parent>()
    .Fetch(c => c.Obj)
    .ToList();

Примечание: кажется, что Linq действительно пытается получить, а QueryOver - нет.это не работает

var loaded = session.QueryOver<Parent>()
    .Fetch(c => c.Obj).Eager
    .List();
...