Я создаю сложную структуру с EF 4.1.Очень упрощенная версия выглядит следующим образом:
var top = from x in _context.top
select new TopView
{
field = top.field,
sub = ( from y in x.RelatedTable
select new SubView
{
subfield = y.subfield,
subsub = ( from z in y.AnotherRelatedTable
select new SubSubView
{
subsubfield = z.subsubfield
}
)
}
)
}
Видовые модели выглядят следующим образом:
public class TopView {
string field { get; set; }
IEnumerable<SubView> sub { get; set; }
}
public class SubView {
string subfield { get; set; }
IEnumerable<SubSubView> sub { get; set; }
}
public class SubSubView {
string subsubfield { get; set; }
}
Когда я получаю объект TopView в моем контроллере (но не могу получить доступ ни к одному из свойств,через несколько секунд мой вывод показывает:
The thread '<No Name>' (0x1b44) has exited with code 0 (0x0).
The thread '<No Name>' (0x1448) has exited with code 0 (0x0).
The thread '<No Name>' (0xf34) has exited with code 0 (0x0).
Теперь, когда я удаляю самую внутреннюю структуру, чтобы SubView выглядело так:
select new SubView
{
subfield = y.subfield
}
И перезапуск, я толькополучить два из выходных сообщений.
Каждый вложенный запрос выполняется в своем собственном потоке? Есть ли что-то, о чем стоит беспокоиться?