我有两张表: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
。我试过但没有成功。
答案 0 :(得分: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
答案 1 :(得分:0)
试试这个:
var photoId = ( from photo in collecPhotos
join album in collecAlbums on photo.AlbumId equals album.AlbumId
orderby NEWID()
select photo.PhotoId).First();
其中collecPhotos
和collecAlbums
是您的照片和相册实体的集合,即表格中的数据。所以它也可以是myDbContext.Photos
和myDbContext.Albums
,其中myDbContext
是您的Linq-to-Sql
DataContext。