2012-04-27 2 views
2

사용자 정의 클래스에, 나는 아래와 같이 LINQ 쿼리를

public AddXferData DisplayXferDataToBeModified(int ID) 
    { 
     try 
     { 
      var resultSet = (from items in DataContext.Transfers 
          where items.Transfer_ID.Equals(ID) 
          select new AddXferData 
          { 
           XferID = items.Transfer_ID, 
           LogicalName = items.Logical_Name, 
           RoutCode = items.Route_Code, 
           Label = items.Label, 
           OnNetDNA = items.On_Net_DNA, 
           OnNetDNB = items.On_Net_DNB, 
           FailMessage = items.Failure_Message, 
          }); 
      return resultSet; 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
    } 

을 된 IQueryable로 변환 그러나 '시스템 내 결과 집합 캐스트를 요구하고 내가받을 메시지가

는 "암시 적 유형 을 변환 할 수 없습니다입니다 ICMAdministration.Data.AddXferData ' 에'.Linq.IQueryable '. 명시 적 변환이 존재는 (당신은 캐스트를 누락?)

결과 집합을 AddXferData 유형으로 캐스팅해야합니다. 이것이 어떻게 달성 될 수 있는지 알려 주실 수 있습니까? 이와 관련하여 귀하의 도움은 대단히 감사하겠습니다.

감사합니다,

+0

그리고 단 하나의'AddXferData'가 필요하십니까? – yamen

답변

3

는 단일 AddXferData의 경우 라구, 다음 시도 :

return resultSet.First(); 

또는

return resultSet.FirstOrDefault(); 

null를 반환 할 수있는 경우 (발견이나 뭐하지 ID 같이)

1
return resultSet.SingleOrDefault(); 
1

쿼리는 AddXferData 개체의 컬렉션을 반환합니다. 단일 결과를 기대하지 않으면 함수 서명을 변경하십시오.

public list<AddXferData> DisplayXferDataToBeModified(int ID) 

하고 목록을 반환 resultSet.ToList();

관련 문제