Sintaxis de métodos de extensión vs sintaxis de consulta
Estoy tratando de controlar si hay un buen momento para usar palabras clave estándar de linq o métodos de extensión de linq con expresiones lambda. Parecen hacer lo mismo, solo están escritos de manera diferente. ¿Es puramente una cuestión de estilo?
var query = from p in Products
where p.Name.Contains("foo")
orderby c.Name
select p;
// or with extension methods:
var query = Products
.Where(p => p.Name.Contains("foo"))
.OrderBy(p => p.Name);
Son muy similares con el segundo ejemplo siendo un poco más conciso, pero tal vez menos expresivo si no sabes lo que está haciendo el =>.
Además de escribir código conciso, ¿existen otras ventajas al usar los métodos de extensión en lugar de la sintaxis LINQ?