2011-03-28 7 views
0

XML 스키마에서 만든 클래스가 있습니다. 내가이 개 시험을 각 테스트는 2 PARAMS을 가지고 있기 때문에 그리고 난 다음 쿼리는 쿼리가 익명의 방법LINQ2OBJECTS : 쿼리 도움말. 즉석에서 목록 만들기

var test1 = from t in test.Test 
        join p in test.Params on t.Test_Id equals p.Test_Id 
        join p1 in test.Param on p.Params_Id equals p1.Params_Id 
        select new { Name = t.Name, Params = p1}; 

그것은 4 개 레코드를 반환으로 잘 돌려 있습니다.

테스트 용으로 익명 유형을 사용하고 있습니다. 위 예제에서 Params는 실제로 ParamRow 유형입니다.

나는 내 자신의 클래스에 넣고 싶습니다.

public class MyOwnClass 
{ 
    public string Name { get; set; } 

    public IList<Param> Params { get; set; } 
} 

내 파람은

public class Param 
{ 
    public string Name { get; set; } 

    public bool Enabled { get; set; } 
} 

내가 이름을 나의 새로운 클래스의 새로운 "PARAM"를 생성하고 할당 문제를 겪고 IList에 포함하고 ..

사용되는이, 같다
Name should be assigned to p1.Name 

Enabled should be assigned to p1.Enabled 
S

o 결국 필자가 필요로하는 것은 2 레코드 반환과 각 레코드를 ILIST와 함께 2 params로 사용하는 것입니다.

혼동 :-)

아무도 도와 줄 수 있습니까?

따라서 나는

Test1 
    Params 
     Param1 
     Param2 

Test2 
    Params 
     Param1 
     Param2 

난 그 말이 희망으로 끝날 것인가?

답변

2

이것은 당신이

var test1 = from t in test.Test 
      select new MyOwnClass { 
            Name = t.Name, 
            Params = (from p in test.Params 
              join p1 in test.Param on p.Params_Id equals p1.ParamsId 
              where p.Test_Id == t.Test_Id 
              select new Param { 
                   Name = p1.Name, 
                   Enabled = p1.Enabled 
                   }).ToList() 
            }; 
+0

감사 아르투로을 원하는 당신을 제공합니다, 그래 그 ... 일 감사 .. 미래에 대한 그것의 메모를했다. – Martin