Присоединиться к заявлению в Linq to Sql - PullRequest
0 голосов
/ 10 августа 2011

Мне нужно написать "Присоединиться" после написания запроса в linq пример:

var Query = (from Tab in Db.Employees
              select Tab)

как у меня есть несколько дел для выполнения операции соединения, так
мне нужно сделать это в этом запросе Query.Join(Join with another Table like Department); мне нужен синтаксис

if (DeptID != -1){ Query.Join(Join with table Department where FkDeptID = DeptID); }

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Попробуйте использовать этот запрос:

var Query =
    from e in Db.Employees
    join d in Db.Departments on e.FkDeptID equals d.DeptID into departments
    select new
    {
        Employee = e,
        Department = departments.SingleOrDefault(),
    };

Это работает при условии, что когда e.FkDeptID == -1, что в таблице Departments нет записи и в этом случае Department будет присвоено null.

У вас никогда не должно быть более одного отдела для сотрудника, поэтому я использовал SingleOrDefault вместо FirstOrDefault.

0 голосов
/ 10 августа 2011

Рассмотрим использование объединения в синтаксисе запроса LINQ:

from t1 in db.Table1
join t2 in db.Table2 on t1.field equals t2.field
select new { t1.field2, t2.field3}

Как-то так?

var results = (from q in Query 
               join m in myList  on q.SomeID = m.SomeID
               select unknown);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...