2009-03-19 10 views
0

重複がある場合を除いて正常に動作するSilverlightのドロップダウンリストを作成するC#コードがあります。私はIEnumerable<Insurance.Claims>がコレクションなので、重複を除外していると思います。重複を受け入れるようにLINQクエリをコード化するにはどうすればよいですか?ADO.NET Data Services、LINQ

私のサンプルデータは、次のようになります。

コード=>コードネーム
FGI            フィールドの一般的なイニシアティブ
SRI            静的リソースイニシアティブ
JFI            共同フィールドイニシアチブ - これが結果に "上書き" され
JFI            共同友達イニシアティブ

IEnumerable<Insurance.Claims> results; 

// ADO.NET Data Service 
var claim = (from c in DataEntities.Claims.Expand("Claimants").Expand("Policies") 
      where c.Claim_Number == claimNumber 
      select c); 

DataServiceQuery<Insurance.Claims> dataServiceQuery = 
    claim as DataServiceQuery<Insurance.Claims>; 

dataServiceQuery.BeginExecute((asyncResult) => 
{ 
    results = dataServiceQuery.EndExecute(asyncResult); 

    if (results == null) 
    { 
     // Error 
    } 
    else 
    { 
     // Code to populate Silverlight form 
    } 
}); 
+0

IEnumerableは単なるインターフェイスです。何も_do_しません。特に、重複をフィルタリングしません。 –

答えて

0

(あなたはまだ、とにかくこのけどで苦労しているかどうかわからない...)

私はそれがIEnumerableインターフェイスではないと確信していますが、この動作を引き起こしている実際のドロップダウンです。コードがキーとして使用されているため、同じコードに遭遇するたびにアイテムが上書きされています。

コードを変更しないか、ドロップダウンリストのキーフィールドとして別の識別​​子を使用しない限り、これを変更することはできません。

0

エラーを適切に処理するために、dataServiceQuery.EndExecute(asyncResult)の周りにtry-catchブロックを追加することができます。

+0

これはコメントではありません。 –

関連する問題