Предотвращение ненужных поперечных соединений в подсчете запрос сгенерированного кода SQL

Я использую этот запрос:

return from oi in NHibernateSession.Current.Query<BlaInteraction>()
select new BlaViewModel
{
  ...

  NoPublications = oi.Publications.Count(), 

  ...
};

Blainteraction содержит Ilist из публикаций (I.e. Entitues). Чтобы определить количество публикаций, которых человек не нужно делать все объединения для публикации. Могу ли я предотвратить использование Nibernate в сгенерированном SQL (например, с использованием проекции ???) как-то?

Спасибо.

Кристиан

PS:

Это то, что NH производит (слегка адаптировано):

select cast(count(*) as INT) from RelationshipStatementPublications publicatio21_, Publication publicatio22_ inner join Statements publicatio22_1_ on publicatio22_.StatementId=publicatio22_1_.DBId where publicatio21_.StatementId = 22762181 and publicatio21_.PublicationId=publicatio22_.StatementId

Это то, что было бы достаточному:

select cast(count(*) as INT) from RelationshipStatementPublications publicatio21_ where publicatio21_.StatementId = 22762181
5
задан cs0815 9 September 2011 в 12:26
поделиться