2013-01-11 6 views
1

내가 나를멀티 테이블

obj1 objects that contain obj2.sID == ASpecified# or obj3.sID == ASpecified#의 별개의 목록을 반환 할 수있는 Linq 명령문을 작성하기 위해 노력하고있어 선택합니다.

필자는 내 질문이 더 이해하기 쉽도록 내 회사 다이어그램의 예를 포함하려고했지만, 아쉽게도 나는 충분한 평판을 얻지 못했습니다. 그래서 나는 코드에서 그것을 할 필요가있을 것입니다. 내 물건은 다음과 같습니다.

public class obj1 
{ 
    public int obj1_id { get; set; } 
    public String obj1Prop1 { get; set; } 
    public String obj1Prop2 { get; set; } 
    public List<obj2> obj2List { get; set; } 
    public List<obj3> obj3List { get; set; } 
} 
public class obj2 
{ 
    public int obj2_id { get; set; } 
    public String obj2Prop1 { get; set; } 
    public String obj2Prop2 { get; set; } 
    public Int32 sID { get; set; } 
} 
public class obj3 
{ 
    public int obj3_id { get; set; } 
    public String obj3Prop1 { get; set; } 
    public String obj3Prop2 { get; set; } 
    public Int32 sID { get; set; } 
} 

나는 간단한 linq 문을 능숙하게 사용하지만이 책에서는 내 리그에서 조금 벗어났다. 나는 obj3obj2sID에 가입해야한다고 생각하고 있습니다. 확실하지 않습니다.

도움이나 방향에 대해 감사드립니다.

답변

2

가입 할 필요가 없습니다. 마치 마법처럼 작동합니다>, 내가이었다고 생각한다 -

var o1 = new List<obj1>(); // Add items to list 
var specificId = "123"; // specific id 
var listObj1 = o1.Where(o => o.obj2List.Any(o2 => o2.sID == specificId) || 
          o.obj3List.Any(o3 => o3.sID == specificId)).ToList(); 
+0

+1하지만 당신은'o.obj3List' 및 :) –

+0

@thanks 서식을 일부 코드 폭, 오타 – Tilak

+0

감사 놓친 필요한 코드 다음 시도 생각 만하다. – user1969783