我有两张桌子: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
. 我试过但没有成功。
我有两张桌子: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
. 我试过但没有成功。
我相信你需要加入表格。此外,这取决于您在创建随机 Guid 时使用的语言 - 我的示例使用 C#。在查询语法中,它应该类似于:
from p in Photo
join a in Album on a.AlbumId equals p.AlbumId
orderby Guid.NewGuid()
take 1
select p.PhotoId
尝试这个:
var photoId = ( from photo in collecPhotos
join album in collecAlbums on photo.AlbumId equals album.AlbumId
orderby NEWID()
select photo.PhotoId).First();
wherecollecPhotos
和collecAlbums
是您的照片和相册实体的集合,即表格中的数据。所以它也可以是你的myDbContext.Photos
DataContext在myDbContext.Albums
哪里。myDbContext
Linq-to-Sql