I prefer the syntax of a query when its complex syntax and expression are expressed with its simple query.
If the DBA had to read C # code to see which SQL we use, they would better understand and simplify the query syntax.
Taking a simple example:
Inquiry
var col = from o in orders orderby o.Cost ascending select o;
Expression
var col2 = orders.OrderBy(o => o.Cost);
For me, Expression syntax is an easier choice to understand here.
Another example:
Inquiry
var col9 = from o in orders orderby o.CustomerID, o.Cost descending select o;
Expression
var col6 = orders.OrderBy(o => o.CustomerID). ThenByDescending(o => o.Cost);
Both are easy to read and understand, however if the request was
//returns same results as above var col5 = from o in orders orderby o.Cost descending orderby o.CustomerID select o; //NOTE the ordering of the orderby's
This looks a bit confusing as the fields are in a different order and it looks a little backward.
For associations
Inquiry
var col = from c in customers join o in orders on c.CustomerID equals o.CustomerID select new { c.CustomerID, c.Name, o.OrderID, o.Cost };
Expression
var col2 = customers.Join(orders, c => c.CustomerID,o => o.CustomerID, (c, o) => new { c.CustomerID, c.Name, o.OrderID, o.Cost } );
I believe the request is better.
My resume will use what looks easiest and fastest to understand, given this request. You cannot use the golden rule. However, if there are many connections, I would go with the query syntax.