2009-03-02 3 views
2

와 저장 프로 시저에서 익명 형식을 반환 다음 저장 프로 시저를 고려LINQ2SQL

public partial class DBSproc : DataContext 
{ 
    [Function(Name = "dbo.spGetCustomersAndOrders")] 
    [ResultType(typeof(Customer))] 
    // What type should I use here for the second resultset? 
    [ResultType(typeof(... what here? ...))] 
    public IMultipleResults GetCustomersAndOrders() 
    { 
     IExecuteResult result = 
      this.ExecuteMethodCall(this, 
       ((MethodInfo)(MethodInfo.GetCurrentMethod()))); 

     return (IMultipleResults)(result.ReturnValue); 
    } 
} 
: 절차는 분명 나는이 부분 클래스 메소드로 검색하기 위해 노력하고있어 두 개의 결과 집합을 반환
SELECT * FROM Customers; 

SELECT Customer.Id, Customer.Name, Order.Total, Order.DateOrdered 
FROM Customers INNER JOIN Orders ON Customers.Id = Orders.CustomerId; 

첫 번째 결과 집합이 고객 항목에 매핑되는 것을 이해하지만 두 번째 결과 집합은 어떨까요? 두 번째는 여러 테이블의 여러 열을 결합하는 사용자 정의 선택입니다. 나는 이러한 속성을 가진 엔티티가 없습니다.

해당 결과 집합에 대해서만 더미 엔터티를 만들어야합니까? 그런 임시 쿼리에 익명 형식을 어떻게 든 사용할 수 있기를 바랬습니다.

감사합니다.

+1

"유용한"답변이없는이 질문을보기에 수치 스러우며, 나는 하나가 되길 바랬습니다! – Jon

답변

0

일반적으로 반환 형식이 "개체"인 경우에만 메서드에서 익명 형식을 반환 할 수 있습니다. 그런 다음 호출 코드는 리플렉션을 사용하지 않는 한 익명 형식이 가질 수있는 속성을 모릅니다.

네, 익명 형식을 사용할 수 있지만 그다지 유용하지 않으므로 원치 않을 수 있습니다.

+0

json과 동일한 객체를 반환하려는 경우 유용합니다. – om471987