2009-07-17 71 views
0

在直接的SQL中,我可能会将一些逻辑封装在一个简单的连接上,但是如何在LINQ to SQL中有效地执行此操作?想象一下,我有两个表:针对对象和子对象的最有效的LINQ to SQL查询?

家长

  • ID

儿童

  • PARENTID
  • ID
  • 名称

理想情况下,我希望父对象的图形具有“儿童”属性,该属性实际上是一个字典< int,字符串>。

对此提出建议?

回答

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(作为父的)和含有所述儿童ID和Name一个字典。