Платформа объекта: наследование и включает

Я исправил это, обновив SSH-клиент Bitvise с 7.27 до версии 7.41.

10
задан Ruslan Minasian 3 June 2009 в 11:59
поделиться

1 ответ

Я почти уверен, что то, что предлагает CatZ, не работает.

Я не думаю, что вы можете сделать это с помощью Include, но вы можете добиться того же эффекта, используя трюк с проекцией см. this Как отсортировать отношения в Entity Framework

Вам нужно сделать что-то вроде этого:

var results = from d in ctx.Departments
              select new {
                   d, 
                   employees = d.Employees.Select(
                      e => new {
                          e, 
                          location = e is RemoteEmployee ? 
                                     (e as RemoteEmployee).Location : 
                                     null
                     }
                   )
              };


foreach (var result in results)
{
    var re = result.d.Employees.First() as RemoteEmployee;
    Console.WriteLine("{0} {1} works from {2}", 
           re.Firstname, re.Surname, re.Location.Name);
}

Обратите внимание, что вам не нужно использовать анонимные типы для получения данных, по сути, проекция имеет побочный эффект заполнения коллекций в вашем отделе из-за функции Entity Framework, называемой fixup.

Надеюсь, это поможет Алекс

13
ответ дан 3 December 2019 в 23:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: