0

У меня есть две таблицы: Album(AlbumId, AlbumName) и Photo(PhotoId, PhotoName, AlbumId)новообращенный выберите запрос в LINQ на SQL сервере 2008

У меня есть:

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

Это возвращает один рекорд случайный

Я хочу преобразовать его в Linq to sql , Я пробовал, но не успел.

+0

Что вы пробовали? –

+0

Да. Я был судим. Я начинаю обучение для Linq.Пожалуйста, помогите мне! – user2465772

+0

вам нужно использовать соединение linq. –

ответ

0

Я считаю, что вам нужно будет присоединиться к столам. Кроме того, это зависит от того, какой язык вы используете, когда хотите создать случайное руководство. В моем примере используется C#. В синтаксисе запроса, это должно быть что-то вроде:

from p in Photo 
join a in Album on a.AlbumId equals p.AlbumId 
orderby Guid.NewGuid() 
take 1 
select p.PhotoId 
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.

Смежные вопросы