chimcham Ответов: 1

Как вы преобразуете этот SQL-запрос в linq?


В настоящее время я учусь делать запросы с помощью linq.
Я застрял на том, как перевести следующий sql-запрос в linq.

select (select top 1 fname + lastname from EmployeeList emp where stud.id = emp.childId) as [Parent Name],
   stud.name,
   stud.address
from Students stud


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

var query = from stud in Students
              select new
              {
                Name = stud.name,
                Address= stud.address
              };


Я не знаю, как поступить. Пожалуйста, веди меня. Большое спасибо..

1 Ответов

Рейтинг:
2

Maciej Los

Ты на правильном пути.

var query = from stud in Students
              select new
              {
                ParentName = (from emp in EmplyeeList where emp.childId = stud.id select new { pname = string.Concat(emp.fname, " ", emp.lastname) }).First()
                Name = stud.name,
                Address= stud.address
              };


Но ... ваш запрос нуждается в оптимизации с помощью присоединяется[^].


Для получения более подробной информации, пожалуйста, смотрите:
Визуальное представление SQL-соединений[^]
101 образцы LINQ в C#[^]
linq101-лямбда[^]