Проблема перекрестного соединения с linq2sql

#vb.net #visual-studio-2010 #linq-to-sql

#vb.net #visual-studio-2010 #linq-to-sql

Вопрос:

У меня есть следующий запрос LINQ2SQL:

 From pc In DBContext.ProcessCodes
Join c In DBContext.Cells On pc.idCell Equals c.idCell
    Where pc.idType = "Cars" AndAlso
          pc.Active = True AndAlso
          c.Active = True
    Select c
  

По какой-то причине я получаю перекрестное соединение (декартово произведение), когда я думаю, что должен получать внутреннее соединение. Я получаю то же самое, если я выполняю несколько From со сравнением ключей в where.

Что я делаю не так?

Комментарии:

1. Вашим первым шагом может быть проверка сгенерированного SQL. davidhayden.com/blog/dave/archive/2007/08/17 /…

Ответ №1:

Я думаю, это поможет вам:

 From pc In DBContext.ProcessCodes 
From c In DBContext.Cells
Where pc.idType = "Cars" AndAlso           
      pc.Active = True AndAlso
      c.Active = True     
Select c