Я еще не очень знаком с Linq to SQL, но меня поражает то, что это:
var articles =
(from a in DB.Articles
where
a.ArticleId == ArticleId.Question &&
a.DeletedAt == null &&
a.Votes >= minVotes
orderby a.UpdatedAt descending
select a).
Take(maxarticles);
переводится на это:
string query =
"select top 10 * from articles
where
ArticleId = 1 and
DeletedAt is null and
Votes >= -5
order by UpdatedAt desc";
Мне кажется неэффективным, что linq to sql готов пылесосить все, используя тип запроса "select *". Разве это не неэффективно?
Почему linq to sql делает это таким образом?