2009-07-14 23 views
2

これは何を意味しますか?返り値を無視して結果を返しますアプリケーションmemに平らになってしまいました(おそらくこれがセットになります...)

"ソースタイプ 'System.Linq.IQueryable'のクエリパターンの実装が見つかりませんでした。 「結合」が見つかりません。明示 '範囲の変数のタイプを指定することを検討してください。」Linqエラー "ソースタイプ 'のクエリパターンの実装が見つかりませんでした' System.Linq.IQueryable '結合が見つかりません'

private CommonDataResponse toCommonData 
     { 
      get 
      { 
       CommonDataResponse toCommonData = this.gatewayReference.GetCommonData(); 
       Array dCountries = toCommonData.PropertyCountries.ToArray(); //Webservice sends KeyValuePairOfString 
       Array dRegions = toCommonData.Regions; //Webservice sends Array 
       Array dAreas = toCommonData.Areas; //Webservice sends Array 

        var commonRAR = from a in dAreas 
         join r in dRegions 
         on a.RegionID equals r.Id 
         join c in dCountries 
         on r.CountryCode equals c.Key 
         select new {c.Value, r.Name, a.Name, a.Id }; 



        return toCommonData; 
      } 
     } 

dRegions/dAreas両方アレイを、dCountriesは.toArray()

答えて

3

Arrayは非常に緩い形であり、実装しないでIEnumerable<T>などあなただけ(コンパイラはタイプを選択しましょう)varArrayラインを切り替えてみてください。それはまだArrayを使用している場合は、おそらくタイプを指定する.Cast<T>()を使用(またはArray.ConvertAll、など)。

Array(詳しくはありません)知っているものはすべてobjectです。

基本的に、JoinIEnumerable<T>IQueryable<T>に(拡張メソッドなど)に定義される - ないIEnumerable<T>なし)。

+0

a.RegionIDとr.Id int型 r.CountryCodeとc.Key文字列型 –

+0

はずのヴァールに配列RegionIdないRegionID ああなっており、変更; o)のおかげで –

関連する問題