linq to sql дата заказа - PullRequest
       17

linq to sql дата заказа

0 голосов
/ 10 июля 2011

У меня есть таблица данных, которую я хотел бы заказать по дате. Мое поле даты - varchar в базе данных в следующем формате; дд / мм / год * * тысяча один

Я пытаюсь вернуть мои данные с помощью следующего кода;

var q = from na in db.NewsArticles orderby (Convert.ToDateTime(na.articleCreated).ToString("yyyy-MM-dd")) descending select na;
return q;

Однако это выдает следующую ошибку;

Method 'System.String ToString(System.String)' has no supported translation to SQL.

Может ли кто-нибудь указать мне правильное направление, пожалуйста?

1 Ответ

4 голосов
/ 10 июля 2011

Пропустить .ToString("yyyy-MM-dd")

var q = 
  from na in db.NewsArticles 
  orderby Convert.ToDateTime(na.articleCreated) descending 
  select na;

РЕДАКТИРОВАТЬ
Поскольку сортировка БД не похоже на форматирование даты, вы можете попробовать это:

var q = db.NewsArticles.AsEnumerable().OrderByDescending(x => 
           DateTime.Parse(x, new CultureInfo("en-GB", false).DateTimeFormat))

Где "en-GB" - это культура, из которой используется ваше форматирование.(возможно, вам придется это изменить)

...