5

Ho bisogno di aiuto in quanto non è in grado di spiegarlo veramente. Abbiamo una semi interrogazione NHibernate complessa:nhibernate non è stato in grado di risolvere la proprietà (solo in Visual Studio 2015) con LeftOuterJoin

var query = _tyreRepository.Session.QueryOver<Tyre>(() => tyreAlias) 
    .JoinQueryOver<Pattern>(() => tyreAlias.Pattern, () => patternAlias) 
     .JoinQueryOver<Brand>(() => patternAlias.Brand,() => brandAlias) 
    .JoinQueryOver<RimSize>(() => tyreAlias.RimSize, () => rimSizeAlias) 
       .JoinQueryOver(() => tyreAlias.SpeedIndex, 
          () => speedIndexAlias, JoinType.LeftOuterJoin); 

che funziona bene in Visual Studio 2012, abbiamo recentemente aggiornato a Visual 2015 e ora questa query non funziona; quando si utilizza un indice di velocità:

query.Where(() => speedIndexAlias.SpeedKm >= speedKms); 

La query funziona correttamente.

Ha trascorso un lungo periodo di debugging del codice di rollback non ha funzionato. Poi abbiamo ottenuto lo stesso progetto rispettato in Visual Studio 2012 funziona bene. Non possiamo capire perché quando compiliamo il progetto in Visual Studio 2015 questa query non funziona più (senza modifiche alla query).

mi piace molto tutti i nuovi cambiamenti linguistici nel 2015, ma le nostre pause sito web quando si compila il nostro codice in Visual Studio 2015 ...

risposta

4

Ok ho trovato una soluzione. È necessario aggiornare nhibernate alla versione più recente a causa di un problema con il compilatore C# Roslyn in Visual Studio 2015. Purtroppo non sembra che le versioni precedenti di nhibernate abbiano una soluzione per questo.

https://nhibernate.jira.com/browse/NH-3795

Quindi, se si desidera utilizzare Visual Studio 2015 e si utilizza NHibernate è necessario l'aggiornamento NHibernate attualmente. Deve essere compilato 4.04.4000 che posso confermare funziona con fluente 2.0.3.

+0

Hanno rilasciato 3 versioni di nibernato per affrontare questo problema [vedi qui] (http://nhibernate.info/blog/2015/08/17/nhibernate-4-0-4-released.html), quindi puoi aggiornare quello che stavi utilizzando. Si noti, tuttavia, che "hanno dimenticato" di aggiornare le versioni dei file di assembly in 3.3.5 -> potrebbe significare alcuni problemi se si fa riferimento alla dll come assembly dipendente. – blas3nik

Problemi correlati