MIN и MAX в течение года от datetime, используя linq к sql - PullRequest
1 голос
/ 11 марта 2011

Как я могу выполнить этот MS SQL Query с Linq to SQL в C #

SELECT DATEPART(yy, MAX (articleDate)) AS max_year,
DATEPART(yy, MIN (articleDate)) AS min_year
FROM News;

Спасибо

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Не думаю, что вы сможете сделать это в одном запросе легко / изящно, но в остальном это просто:

var minYear = dbContext.News.Min(x => x.ArticleDate.Year);
var maxYear = dbContext.News.Max(x => x.ArticleDate.Year);

( может быть способом сделать это в пределах одного запроса, но только путем добавления какого-либо запроса-обертки, насколько я могу подумать.)

0 голосов
/ 11 марта 2011

Как насчет чего-то вроде:

var foo = (from article in context.New
          group article.ArticleDate.Year by 1 into g
          select new
                     {
                         MinResult = g.Min(),
                         MaxResult = g.Max()
                     }).FirstOrDefault();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...