che sto appena iniziato con EF e una query come la seguente mi sembra strano:Metodi di generazione query del framework Entity: perché "it" e non lambdas?
var departmentQuery =
schoolContext.Departments.Include("Courses").
OrderBy("it.Name");
In particolare, ciò che sporge per me è "it.Name." Quando stavo lavorando con LINQ a SQL, praticamente ogni filtro in una query query-builder poteva essere specificato con un lambda, come, in questo caso, d => d.Name.
Vedo che esistono degli override di OrderBy che accettano lambda che restituiscono un IOrderedQueryable o un IOrderedEnumable, ma ovviamente non hanno il metodo Execute necessario per ottenere ObjectResult che può quindi essere databound.
Mi sembra strano dopo tutto quello che ho letto su come lambda abbia un senso per questo tipo di cose, e come siano tradotte in alberi di espressione e poi in una lingua target - perché devo usare " it.Name "?
Un altro esempio potrebbe essere. Dove ("it.SomeProperty non è null"). Ora ho questo strano miscuglio di operatori di query standard rappresentati in C# nativo con un filtro esplicito che vive interamente in TSQL-land. Pensavo che il punto di EF fosse quello di andarsene. – nlawalker