Когда использовать JOIN, а когда нет в LINQ к объектам - PullRequest
3 голосов
/ 02 мая 2011

Я новичок в Linq, и я видел, что если есть несколько сущностей, некоторые используют синтаксис множественного FROM следующим образом:

from h in db.Hubs   
from ch in h.CityHubs where ch.Cities.CityID == 1 
select

, а некоторые используют синтаксис объединения Explicity.

from h in db.Hubs
join ch in da.CityHubs on h.CityId equals ch.CityId
select

Если я использую Linq для сущностей, какую мне следует использовать?Если бы я использовал Linq для объектов, какой я должен использовать?

1 Ответ

2 голосов
/ 02 мая 2011

Как правило, в Entity Framework, если у вас есть подходящая модель и правильно настроены свойства навигации для внешних ключей, вы почти никогда не должны использовать join - вместо этого вы обращаетесь к свойству навигации напрямую, и EF сгенерирует необходимый join в коде SQL для вас. Я рекомендую взглянуть на @ 1003 * blogpost @Craig Stuntz по этой проблеме. Относительно Linq-to-objects, однако, это зависит от конкретного запроса, который вы пишете.

...