2012-07-13 4 views
1

가능한 중복 :이 출력 유형은 무엇입니까?

public static ... GetList() 
    { 
     Entity conn = new Entity(); 
     var lst = (from PS in conn.PurchaserSpecials 
       select new 
       { 
        PS.PurchaserID, 
        PS.PurchaserSerial, 
        PS.Purchaser.Address, 
        PS.Purchaser.Fax, 
        PS.Purchaser.NumberEconomic 
       }).ToList(); 
return lst; 
    } 

출력 유형에 대한 VAR을 사용할 수 없습니다
Return anonymous type from LINQ query?

나는이 방법을 사용합니다. 도와주세요 ...

출력 방법은 무엇입니까?

+2

잘 될 것이다, 그건 두 가지 :) 그것은 methode가 반환하는 것이므로 객체 유형입니다. 그러나 linq 쿼리는 익명의 유형 목록을 반환합니다 (select new {..}는 익명 유형을 만듭니다) –

+0

'lst' 변수는 익명 유형입니다. 당신은 당신의 방법 안에서만 그것을 사용할 수 있습니다. 문제를 해결하려면 잘 알려진 수업을 사용해야합니다. –

+0

디버거에는 사용자가 원하는 답이 들어 있습니다. –

답변

2

작성한 익명 유형의 목록입니다. ,

public class Specials 
    { 
     public int PurchaserID { get; set; } 
     public int PurchaserSerial { get; set; } 
     public string Address { get; set; } 
     public int Fax { get; set; } 
     public int NumberEconomic { get; set; } 
    } 

public static List<Specials> GetList() 
    { 
     Entity conn = new Entity(); 
     var lst = (from PS in conn.PurchaserSpecials 
       select new Specials 
       { 
        PurchaserID = PS.PurchaserID, 
        PurchaserSerial = PS.PurchaserSerial, 
        Address = PS.Purchaser.Address, 
        Fax = PS.Purchaser.Fax, 
        NumberEconomic = PS.Purchaser.NumberEconomic 
       }).ToList(); 
return lst; 
    } 
1

당신을 LINQ 쿼리는 익명의 유형을 생성합니다 : 당신은 당신이 알고있는 것 유형을 반환하려면

는 (I 아래 유형을 추측하고) 당신이 선택하는 필드를 가진 새 클래스를 생성 따라서 메서드의 반환 유형으로 사용할 수 없으며 호출하는 메서드는 반환 형식에 대해 알지 못합니다.

이 문제를 해결하려면 동적 키워드와 동적 유형을 사용해야합니다.

당신이 메서드의 반환 형식은 쿼리의

public dynamic GetList() { 
     return ...; 
0

출력처럼 될 수있는 것은 매개 변수로 다시 돌아갈 수 없습니다 익명의 유형입니다. 단순하게, 더 나은 당신이 같은 수준의 뭔가를 만들 : 'PurchaseDetail' 모든 속성과 같은 코드를 반환 :

public static List<PurchaseDetail> GetList() 
    { 
     Entity conn = new Entity(); 
     var lst = (from PS in conn.PurchaserSpecials 
       select new PurchaseDetail 
       { 
        PurchaserID= PS.PurchaserID, 
        PurchaserSerial=PS.PurchaserSerial, 
        Address=PS.Purchaser.Address, 
        Fax=PS.Purchaser.Fax, 
        NumberEconomic =PS.Purchaser.NumberEconomic 
       }).ToList(); 
return lst; 
    } 
0

는 반환 형식은 List of type Products

public static List<Products> GetList() 
{ 
    Entity conn = new Entity(); 
    var lst = (from PS in conn.PurchaserSpecials 
      select new 
      { 
       PS.PurchaserID, 
       PS.PurchaserSerial, 
       PS.Purchaser.Address, 
       PS.Purchaser.Fax, 
       PS.Purchaser.NumberEconomic 
      }).ToList(); 
    return lst; 
} 

public class Products 
{ 
    //Properties you are using in the query. 
} 
관련 문제