2010-03-31 3 views
1
var result = db.PhotoAlbums.Select(albums => new PhotoAlbumDisplay 
      { 
       AlbumID = albums.AlbumID, 
       Title = albums.Title, 
       Date = albums.Date, 
       PhotoID = albums.Photos.Select(photo => photo.PhotoID).FirstOrDefault().ToString() 
      }); 

Где бы я ни пытался поставить orderby albums.AlbumID descending Я получаю ошибку. Кто-то знает решение?
Спасибо!Где добавить выражение orderby в этом запросе linq-to-sql

ответ

2

Это должно работать:

var result = db.PhotoAlbums.Select(albums => new PhotoAlbumDisplay 
      { 
       AlbumID = albums.AlbumID, 
       Title = albums.Title, 
       Date = albums.Date, 
       PhotoID = albums.Photos.Select(photo => photo.PhotoID).FirstOrDefault().ToString() 
      }) 
      .OrderByDescending(item => item.AlbumID); 

В синтаксисе запроса:

var result = from albums in db.PhotoAlbums 
      orderby albums.AlbumID descending 
      select new PhotoAlbumDisplay 
      { 
       AlbumID = albums.AlbumID, 
       Title = albums.Title, 
       Date = albums.Date, 
       PhotoID = albums.Photos.Select(photo => photo.PhotoID).FirstOrDefault().ToString() 
      }; 
+0

+1 только что написал, что –

+0

Он работает ... и эта другая версия запроса - это то, что мне нужно! Благодаря! –

1

Если вы хотите использовать синтаксис запроса, вам нужно будет начать с «from X select» и работать с ним. В этом случае было бы проще просто использовать метод .OrderBy() для упорядочения результатов.

1

Это то, что вы ищете?

var result = db.PhotoAlbums.Select(albums => new PhotoAlbumDisplay 
     { 
      AlbumID = albums.AlbumID, 
      Title = albums.Title, 
      Date = albums.Date, 
      PhotoID = albums.Photos.Select(photo => photo.PhotoID).FirstOrDefault().ToString() 
     }) 
     .OrderByDescending(a=>a.AlbumID); 
+0

yep ... Ахмад уже дал мне ответ: http://stackoverflow.com/questions/2556378/where-to-insert-orderby-expression-in-this-linq-to-sql-query/2556397#2556397 .. .благодаря! –

Смежные вопросы