나는 아래 linq 쿼리 있습니다. 분명히 좋지 않은 다른 3 곳의 비슷한 쿼리가 있습니다. 그래서 메소드에 tfID를 전달하려고합니다. 메서드에 매개 변수로 var를 전달할 수 없다는 것을 알고 있습니다.C# Linq 쿼리가 사전에 형식을 반환
var tfID = from orderItem in _orderBlock.Orders
join assetItem in tfEntity.AssetDetails on orderItem.Security.ID equals assetItem.sISIN
where orderItem.IdenitfierUsed == "I"
where assetItem.iSkeletal == 1
select new { orderItem, assetItem };
위의 쿼리를 다음과 같이 변경하려고합니다. 내가 얻을 그러나 오류 메시지가 System.Collections.Generic.Dictionary '명시 적 변환 (당신이 캐스트를 누락)가 존재하지 공모 유형을 변환 할 수 있습니다 "'에 System.Collections.Generic.IEnumerable '입니다.
Dictionary<Order, AssetDetail> ordersDictionary = new Dictionary<Order, AssetDetail>();
ordersDictionary = from orderItem in _orderBlock.Orders
join assetItem in tfEntity.AssetDetails on orderItem.Security.ID equals assetItem.sISIN
where orderItem.IdenitfierUsed == "I"
where assetItem.iSkeletal == 1
select new { orderItem, assetItem };
될 것입니다 :
당신이해야 할 모든
은ToDictionary()
를 추가입니다) http://msdn.microsoft.com/en-us/library/bb5 49277 (v = .110) .aspx – Ric