Я использую в своем проекте следующую модель. Но я пытаюсь получить тот же запрос 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
}