0

这个用户已经在几分钟前询问了完全重复的sql 和 linq 查询

PhotoAlbums
AlbumID
标题
日期

Photos表:
PhotoID
Title
Date
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 编写的查询。提前致谢

4

2 回答 2

3

你可以这样做:

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

此外,LinqPad是一个非常好的工具,可以帮助您做到这一点。

于 2010-03-31T12:56:04.887 回答
2

假设您已经定义了 DBML 文件之间PhotoAlbumsPhotos中的关系,您可以执行以下操作:

var albums = dataContext.PhotoAlbums.Select(album => new {
    AlbumId = album.AlbumId,
    Title = album.Title
    Date = album.Date,
    PhotoId = album.Photos.Select(photo => photo.PhotoId).FirstOrDefault()
});
于 2010-03-31T12:54:23.137 回答