nel precedente post parlavo devi vari modi per creare una query con Linq, ultimamente sto facendo un uso massiccio dell' Expression Tree sopratutto per la possibilità di comporre la query runtime.
ecco quà come accedere ad una proprietà di un oggeto esposto da una classe, l'esempio si riferisce sempre al tipo Rent dell'esempio precedente
ParameterExpression _rentParameter = Expression.Parameter(typeof(Rent), "_rent");
Expression _property = Expression.Property(_rentParameter, "RentType");
_left = Expression.Property(_property, "RentTypeID");
_right = Expression.Constant(int.Parse(SearchTypeDropDownList.SelectedValue), typeof(int));
che è lequivalente di scrivere:
_rent => _rent.RentType.RentTypeID = int.Parse(SearchTypeDropDownList.SelectedValue)
continua...
mmmm non mi piace tanto la menta... che ne dici invece di con menta, con cioccolata
novecento wrote:
(MARCO COMMENTA IL CODICE!!!!!!!!!! [}]
![]()
![]()
)
il commento è un dettaglio. marco si concentra sulle cose essenziali della vita!
e poi non commentando aggiungi quel brivido al codice che scrivi
e bello ritornare e riscoprire come pionieri dopo mesi e mesi il codice implementato, tentando in vano di ricordare a cosa serviva quel ciclo pieno pi parentesi acute e quella variabile dal nome _roleGroupFilteredByKindAreaAnchestorChain
intendevi qualcosa di simile?
IQueryable<Rent> _result = _dataContext.Rents
if(qualcosa)
{
_result = _result.Whrere(_rent => _rent.RentID == 1);
}
if(qualcosaltro)
{
_result = _result.Whrere(_rent => _rentID.location.RentLocationID == 1);
}
non l'ho provato :D lo scritto direttamente quà, a naso mi sembrerebbe funzionare ma non ho provato.
effettivamente se potessi fare così Alessio ne ne sarebbe più felice... ma non gle lo dite...che lo fatto per studio e che mi piacciono L'ET
ciao marco
é esattamente quello che intendevo.
Ma tranquillo non lo dirò ad Alessio e sono convinto che tanto non ti legge
Byez
.
é esattamente quello che intendevo.
Ma tranquillo non lo dirò ad Alessio e sono convinto che tanto non ti legge
Byez
.
é esattamente quello che intendevo.
Ma tranquillo non lo dirò ad Alessio e sono convinto che tanto non ti legge
Byez
.
lol... ormai siamo abituati a non leggerci ne ad ascoltarci...
grazie della chiaccherata mi è stata di spunto anche per altre cose...tanto oggi Alessio non c'è in ufficio
ciao marco
Marco,
se fai uso degli extension methods puoi comporre delle query anche senza ricorrere agli expression trees. IMVHO è molto più leggibile e soprattutto Alessio non ti odierà
Byez
.
non lo so ho provato ma mi trovo meglio con l'Expression Trees, mi fai un esempio magari toppavo il cocetto io.
lo scenario è il seguente ho più o meno 12 filtri i quali possono essere applicati o meno, ovvero poprei applicare il filtro 3 e poi saltare direttamente al 12 oppure avero applicati i filtri 3, 4 , 5 , 8 e così via...insomma un bel pò di combinazioni
mi trovo bene con L' ET
ma non disdegno altre soluzioni, anzi mi farebbe davvero piacere
ciao marco
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.





Stampa
Download
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
.. .. fanatici di LINQ e EDM .. vi odio tuttiiiii buahbuahahhaha .. ..
ok, ma pure Microsoft ce mette del suo, me perchè le ha rese pubbliche le ET ?!?
(MARCO COMMENTA IL CODICE!!!!!!!!!!
Modificato da novecento il 13 dicembre 2007 16.34 -
Continua »»» | Rispondi »»»