tyson Hamda Ответов: 1

Преобразование SQL-запроса double inner join в запрос LINQ


SELECT c.* , v.*
  FROM UserEnrolleds u
  INNER JOIN Courses c ON u.CourseId = c.id
  INNEr JOIN Videos v ON v.CourseID = c.Id
  WHERE u.UsersID = '8851d572-eaff-4a84-9ec8-aa144fecfea2'


Что я уже пробовал:

пожалуйста, помогите мне в этом, как конвертировать sql в linq

F-ES Sitecore

google "linq join", это широко документировано.

tyson Hamda

Я так и сделал, но проблема в том, что я никогда раньше не работал с этими операторами LINQ. Так что если вы или кто-то другой может преобразовать этот запрос для меня. Спасибо

jimmson

У всех всегда бывает первый раз. Лучше начать учиться ;)

1 Ответов

Рейтинг:
10

dnxit

Вы можете сделать что-то вроде этого

var resultList = (from u in context.UserEnrolleds
	join c in context.Courses on u.CourseId equals c.Id
	join v in context.Videos on v.CourseId equals c.Id
    where u.UserId == "8851d572-eaff-4a84-9ec8-aa144fecfea2"
	select new { 
           CourseName = c.CourseName, 
           VideoUrl = v.Url, 
           .......
           ......
        }).ToList();


select new
я дам вам анонимный тип, а затем вы сможете сопоставить его с объектом передачи данных.
Или нанести его на карту в то же время, как
select new CourseVideoDto {