Наиболее эффективный запрос LINQ to SQL для объектов и дочерних объектов? - PullRequest
0 голосов
/ 17 июля 2009

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

Родитель

  • ID

Child

  • ParentID
  • ID
  • Имя

В идеале я хотел бы, чтобы граф родительских объектов со свойством Childs действительно представлял собой Dictionary .

Предложения

Ответы [ 2 ]

2 голосов
/ 17 июля 2009
//set up dataloadoptions

DataLoadOptions options = new DataLoadOptions();

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

context.LoadOptions = options;

var children = context.Parent.First().Child;
0 голосов
/ 17 июля 2009

Что-то вроде этого:

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

Выше будет проецировать анонимный тип с двумя свойствами: идентификатором (являющимся родительским) и словарем, содержащим идентификатор и имя дочернего элемента.

...