где против присоединиться.какой из них лучше использовать - PullRequest
0 голосов
/ 12 января 2012

В настоящее время я запускаю некоторый код и получил вопрос по этому поводу.Ниже приведены списки кодов двух запросов LINQ to Entites.

Список кодов A:

IQueryable list = 
    from tableProject in db.Project 
    select new {StaffInCharge = (
        from tableStaff in db.Staff
        where tableStaff.StaffId == tableProject.StaffInChargeId 
        select tableStaff.StaffName)};

Список кодов B:

IQueryable list = 
    from tableProjectin db.Project 
    join tableStaff in db.Staff
        on tableProject.StaffInChargeId
        equal tableStaff.StaffId
    select new {StaffInCharge = tableStaff.StaffName};

Что я хочу выяснитьКакой из них будет лучше и быстрее, если мне придется выбирать много столбцов из таблицы многих других.

Спасибо.

1 Ответ

1 голос
/ 12 января 2012

это комментарий @Tim Schmelter

"Статья (фактически мой SO-вопрос) относится к LINQ-To-DataSet, который основан на LINQ-To-Objects. Linq to SQL или Linq to Entities могут быть оптимизированы СУБД таким образом, предложение where имеет ту же производительность, что и соединение. "

и ссылка Почему LINQ JOIN намного быстрее, чем связь с WHERE? я думаю, что это очень полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...