Come eseguire query di NHibernate ICriteria con setFetchMode (pigro) quando pigro = false definiti in HBM?

StackOverflow https://stackoverflow.com/questions/3822684

Domanda

Mi piacerebbe eseguire una query criteri con le associazioni pigri molti-a-uno. Queste associazioni sono impostati come lazy="false" nel HBM. È perché lo usiamo con impazienza il 90% del progetto.

Ma ci sono alcuni 'grandi' le query che devono essere eseguiti come lazy="proxy".

HBM:

<many-to-one name="DestinationElement" class="X" column="DstElemId" not-null="true" unique="false" cascade="save-update" outer-join="auto" fetch="select" lazy="false" index="IDX_Ass_DestElem">

impostazione Criteri:

criteria.SetFetchMode("DestinationElement", FetchMode.Lazy);

Si lavora in senso opposto, ma non in questo modo. Si recupera con entusiasmo.

Il LOC è 20K +, e che sarebbe una massiccia refactoring di farlo nel modo opposto.

Come posso forzare questo per andare a prendere pigramente solo quando voglio, e prendere con entusiasmo tutte le altre volte?

Grazie in anticipo!

È stato utile?

Soluzione

lazy="false" nel HBM non può essere ignorato in una query (oltre ad essere una cattiva idea il 99% del tempo)

Si dovrà modificare il codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top