0

我有两张桌子:Album(AlbumId, AlbumName)Photo(PhotoId, PhotoName, AlbumId)

我有 :

 select top 1 Photo.PhotoId
 from Photo
 where Album.AlbumId=Photo.AlbumId
 order by NEWID()

这是随机返回一条记录

我想将其转换为Linq to sql. 我试过但没有成功。

4

2 回答 2

0

我相信你需要加入表格。此外,这取决于您在创建随机 Guid 时使用的语言 - 我的示例使用 C#。在查询语法中,它应该类似于:

from p in Photo
join a in Album on a.AlbumId equals p.AlbumId
orderby Guid.NewGuid()
take 1
select p.PhotoId
于 2013-06-08T18:54:59.407 回答
0

尝试这个:

var photoId = ( from photo in collecPhotos
                join album in collecAlbums on photo.AlbumId equals album.AlbumId
                orderby NEWID()
                select photo.PhotoId).First();

wherecollecPhotoscollecAlbums是您的照片和相册实体的集合,即表格中的数据。所以它也可以是你的myDbContext.PhotosDataContext在myDbContext.Albums哪里。myDbContextLinq-to-Sql

于 2013-06-08T18:55:05.800 回答