Перевести SQL-запрос в LINQ - PullRequest
0 голосов
/ 31 марта 2010

ЭТОТ ПОЛЬЗОВАТЕЛЬ УЖЕ ЗАПРОСИЛ ТОЧНУЮ ДУБЛИРОВАНИЕ НА НЕСКОЛЬКИХ МИНУТАХ sql и запрос linq

PhotoAlbums стол
ALBUMID
Название
Дата

Photos таблица:
PhotoID
Название
Дата
ALBUMID

SELECT     AlbumID, Title, Date,
                          (SELECT     TOP (1) PhotoID
                            FROM          Photos AS c
                            WHERE      (AlbumID = a.AlbumID)) AS PhotoID
FROM         PhotoAlbums AS a

Мне нужен этот запрос, написанный на LINQ-to-SQL. Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 31 марта 2010

Вы можете сделать это так:

var result = 
   yourContext.PhotoAlbums.Select(a => 
      new {a.AlbumId, a.Title, a.Date, a.Photos.First().PhotoId }
   );

Кроме того, LinqPad - очень хороший инструмент, который может помочь вам сделать это.

2 голосов
/ 31 марта 2010

Предполагая, что вы определили связь между PhotoAlbums и Photos в вашем файле DBML, вы можете сделать это:

var albums = dataContext.PhotoAlbums.Select(album => new {
    AlbumId = album.AlbumId,
    Title = album.Title
    Date = album.Date,
    PhotoId = album.Photos.Select(photo => photo.PhotoId).FirstOrDefault()
});
...