Где вставить выражение 'orderby' в этот запрос linq-to-sql - PullRequest
1 голос
/ 01 апреля 2010
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 я получаю ошибку. Кто-то знает решение?
Спасибо!

Ответы [ 3 ]

2 голосов
/ 01 апреля 2010

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

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()
            };
1 голос
/ 01 апреля 2010

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

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);
1 голос
/ 01 апреля 2010

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

...