Ho trovato una risposta molto buona a una domanda sulla costruzione di Albero dell'espressione per la query Where.Expression.Lambda e generazione di query in fase di esecuzione, proprietà nidificata "Dove" esempio
Expression.Lambda and query generation at runtime, simplest "Where" example
qualcuno può aiutarmi e farmi vedere come questo esempio potrebbe essere implementato nello scenario con la proprietà nidificato. Voglio dire, invece di:
var result = query.Where(item => item.Name == "Soap")
Con questa soluzione:
var item = Expression.Parameter(typeof(Item), "item");
var prop = Expression.Property(item, "Name");
var soap = Expression.Constant("Soap");
var equal = Expression.Equal(prop, soap);
var lambda = Expression.Lambda<Func<Item, bool>>(equal, item);
var result = queryableData.Where(lambda);
Come posso costruire l'albero per la seguente?
var result = query.Where(item => item.Data.Name == "Soap").
Che cosa è 'Dati'? Specifica questa proprietà –
Sergii grazie per l'aiuto. Alla fine lo risolvo - puoi controllarlo sotto aggiornamento. La seconda riga viene aggiunta e la terza viene modificata. –