Что такое запрос выражения Linq для SQL - PullRequest
0 голосов
/ 04 августа 2020

Я использую в своем проекте следующую модель. Но я пытаюсь получить тот же запрос LINQ из sql, приведенного ниже. Желаемый результат, который я ищу, идентификатор отдела и название отдела, имеющие ссылку на пользователя. Также для флага отдела по умолчанию установлено значение true, если отдел существует относительно его депо и отдела

public class UserDepartmentLink
{
    public int Depotno { get; set; }
    public int Departmentid { get; set; }
    public int Userid { get; set; }
    public bool Isdeleted { get; set; }
    [not mapped]
    public bool IsDefault { get; set; }
}

 public class User
{
    public int Id { get; set; }
    public string Username { get; set; }
    public int depotno { get; set; }
    public int departmentid { get; set; }

}

public class Department
{
    public int departmentid { get; set; }
    public string DepartmentName { get; set; }
}

int[] depot =(1,2,3)
select distinct A.DepartmentName
    ,a.DepartmentID
    ,case when Exists(Select * 
                      from goUser c join goUserDepartmentLink d 
                        on c.DepotNo=d.DepotNo 
                           and c.DepartmentID=d.DepartmentID 
                           and d.DepotNo in(depot)  
                       where c.DepartmentID= B.DepartmentID 
                           and c.UserID=5)
     then 1 else 0 End as Selected
from Department A
    inner join UserDepartmentLink B on A.DepartmentID = B.DepartmentID
Where B.UserID= 5 
    and B.DepotNo in(depot) 
    and B.IsDeleted=0;

Я хочу сохранить результат LINQ в новом классе модели UserDepotDepartment

select new GoUserDepartLink
                                {
                                    DepartmentID = A.DepartmentID,
                                    DepartmentName = A.DepartmentName,
                                    IsDefault = false
                                }
...