Non sempre si è in grado di scrivere le query LINQ prima di compilare un progetto. Come si può immaginare la possibilità di compilare query composte dinamicamente a runtime è indispensabile. Nel blog di Scott Guthrie è uscito un post che parlava di questo qualche tempo fa, e stamane grazie ad un amico che ne aveva bisogno m'è tornato alla mente. Ecco quindi il link:
Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library)
Grazie alla libreria (DynamicLibrary.cs) inclusa nei progetti di esempio si possono scrivere cose come la seguente:
1: Brand brand = (from b in db.Brands
2: where b.BrandId == 2
3: select b).Single();
4:
5: IQueryable<Car> cars = db.Cars.Where("Brand=@0", brand);
6:
7: foreach (Car car in cars)
8: Console.WriteLine(car.Model);
La libreria aggiunge una serie di Extension Methods aggiuntivi che consentono ad esempio di usare una stringa come parametro di una Where...
...Ma non solo... se volete saperne di più, ci vediamo il 6 Marzo.