ancora expression tree

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...

Nella stessa categoria

Commenti
novecento scrive:
ancora expression tree

.. .. 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 -
13/12/2007 ore 16.32 | 3 risposte
»»»» nostromo scrive:
RE: ancora expression tree

mmmm non mi piace tanto la menta... che ne dici invece di con menta, con cioccolata

 ET telefono casaaaaa
13/12/2007 ore 16.44
Daniele Bochicchio scrive:
Re: ancora expression tree

novecento wrote:
(MARCO COMMENTA IL CODICE!!!!!!!!!! [} ]    )

il commento è un dettaglio. marco si concentra sulle cose essenziali della vita!
13/12/2007 ore 18.00
»»»» nostromo scrive:
RE: ancora expression tree

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
13/12/2007 ore 18.29
»»»» nostromo scrive:
ancora expression tree

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
12/12/2007 ore 16.23 | 4 risposte
SM15455 scrive:
Re: ancora expression tree

é esattamente quello che intendevo.
Ma tranquillo non lo dirò ad Alessio e sono convinto che tanto non ti legge
Byez
.
12/12/2007 ore 16.27
SM15455 scrive:
Re: ancora expression tree

é esattamente quello che intendevo.
Ma tranquillo non lo dirò ad Alessio e sono convinto che tanto non ti legge
Byez
.
12/12/2007 ore 16.27
SM15455 scrive:
Re: ancora expression tree

é esattamente quello che intendevo.
Ma tranquillo non lo dirò ad Alessio e sono convinto che tanto non ti legge
Byez
.
12/12/2007 ore 16.27 | 1 risposta
»»»» nostromo scrive:
Re: ancora expression tree

lol... ormai siamo abituati a non leggerci ne ad ascoltarci... o meglio io non l'ascolto lui non mi legge

grazie della chiaccherata mi è stata di spunto anche per altre cose...tanto oggi Alessio non c'è in ufficio

ciao marco
12/12/2007 ore 16.33
SM15455 scrive:
Re: ancora expression tree

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
.
12/12/2007 ore 15.33 | 1 risposta
»»»» nostromo scrive:
Re: ancora expression tree

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  perche li conservo in una collezione le epressioni e le concateno solo alla fine.

ma non disdegno altre soluzioni, anzi mi farebbe davvero piacere

ciao marco
12/12/2007 ore 15.40

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TagCloud
BLOG INFO
  • Post: 232
  • Commenti: 103
  • TrackBacks: 23
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA