2009-06-06 3 views
0

와 계층 구조 개체를? 예컨대 :LinqToSQL 읽기는 특정 속성을 감안할 때

Foo { 
    P1 = 111 
    Bar = { P4 = 444 } 
} 

나이브 솔루션 :이 간단

public Foo Read(int id) 
{ 
    using (DbDataContext db = new DbDataContext()) 
    { 
     var query = 
      from f in db.Foos 
      join b in db.Bars 
       on f.BarId equals b.Id 
      where f.Id == id 
      select new 
      { 
       P1 = f.P1, 
       P4 = b.P4 
      }; 

     var data = query.SingleOrDefault(); 

     return new Foo 
     { 
      P1 = data.P1, 
      Bar = new Bar { P4 = data.P4 } 
     }; 
    } 
} 

을 할 수 있습니까?

답변

0

대해 (테스트되지 않은)

public Foo Read(int id) 
{ 
using (DbDataContext db = new DbDataContext()) 
{ 
    return (Foo)(
     from f in db.Foos 
     join b in db.Bars 
      on f.BarId equals b.Id 
     where f.Id == id 
     select new Foo 
     { 
      P1 = f.P1, 
      Bar = new Bar { P4 = b.P4 } 
     }).FirstOrDefault(); 
} 
}