2009-07-17 3 views
0

В прямом SQL я бы, вероятно, обернул некоторую логику через простое объединение, но как бы я мог сделать это эффективно в LINQ to SQL? Представьте себе, у меня есть две таблицы:Наиболее эффективный запрос LINQ to SQL для объектов и детей?

Родительские

  • ID

Детский

  • ParentID
  • ID
  • Имя

В идеале мне нужен график объектов Parent с свойством «Childs», которое на самом деле является словарем < int, string >.

Предложения?

ответ

2
//set up dataloadoptions 

DataLoadOptions options = new DataLoadOptions(); 

options.LoadWith<Parent>(item => item.Child); 

context.LoadOptions = options; 

var children = context.Parent.First().Child; 
0

Что-то вдоль линий этого:

MyDataContext.Parents 
    .Select(p => 
     new { p.ID, 
      Childs = p.Children.ToDictionary(c => c.ID, c => c.Name) 
     } 
    ); 

выше будет проецировать анонимный тип с двумя свойствами: ID (будучи Родитель) и словарь, содержащий идентификатор ДЕТСКИХ и имя.

Смежные вопросы