QueryOver: selecione colunas da subconsulta

Como posso selecionar / projetar valores de uma subconsulta de uma tabela diferente na minha consulta principal?

Eu tenho um modelo NH como este:

[Serializable]
public class MyModel
{
    public virtual int Id {get; set;}
    //more mapped values
    ....
    //unmapped values
    public virtual string ValueFromOtherTable {get;set;}
}

E eu quero preencher ValueFromOtherTable com uma junção esquerda como esta:

Select mt.*, ..., ot.ValueFromOtherTable from MyModelTable mt left 
join OtherTable ot ON (somecondition)

onde MyModelTable é a tabela mapeada para MyModel-class. Quero preencher ValueFromOtherTable (sem mapeamento de NH), selecionando todos os valores de mt (para preencher as colunas mapeadas por NH) e, em seguida, usando OtherTable, desejo preencher ValueFromOtherTable.

Não consigo juntar as duas tabelas viaQueryOver como não existe correlação direta entre pais e filhos no modelo,JoinAlias ouJoinQueryOver não vai funcionar. MinhasMainQueryOver consultasMyModelTable.

ALTERNATIVA:

A alternativa é primeiro obter todos os valores de MyModelTable e, em seguida, usar as propriedades para consultar OtherTable. No entanto, isso resultará em umaSELECT N+1 problema (para cada modelo deMyModel selecione alguma outra tabela ...) e também torna o código muito complicado.

Existe uma boa maneira de resolver esse problema ou a única maneira de preencher o MyModel usando a alternativa descrita?

questionAnswers(1)

yourAnswerToTheQuestion