Sto usando Nhibernate. Sto scrivendo una query attraverso il metodo queryover. Sono in grado di scrivere e clausola come nel codice qui sotto. Funziona bene.
db.QueryOver(Of Users)() .Where(Function(x) x.Role = "Guest") .And(Function(x) x.Block = 0) .And(Function(x) x.APPID = appId) .List();
Ma voglio usare la clausola OR al posto di And
, o la combinazione di entrambi. Come posso implementarlo. Grazie
Ecco la descrizione di come possiamo build OR con NHiberante
La syntax (in C # come dice il tag) è:
Restrictions.Or(restriction1, restriction1)
Restrictions.Disjunction().Add(restriction1).Add(restriction2).Add(...
In questo caso, potrebbe essere come questo (di nuovo in C #, mentre la domanda sembra utilizzare VB) :
db.QueryOver()() .Where((x) => x.Role == "Guest") .And(Restrictions.Or( Restrictions.Where ((x) => x.Block == 0) , Restrictions.Where ((x) => x.APPID == appId) )) .List ();