2011-02-24 36 views
1

我SEQ LINQ是F#linq - 如何過濾唯一值?

<@ db.Dictionaries 
|> Seq.filter(fun x -> x.ID_Line = l1 || x.ID_Line = l2) @> 
|> fun pquery -> 
    <@ seq { for cd in db.DeltaCompares do 
       for cl1 in %pquery do 
        for cl2 in %pquery do 
         yield 
          if cd.IID1 = cl1.IID && cd.IID2 = cl2.IID then 
           Some(cl1, cl2) 
          else None } @> 
    |> query |> Seq.choose id 
    |> Seq.collect(fun a -> [fst a; snd a]) 
    |> List.ofSeq 

但在這裏,我在這裏只需要獨特的價值觀......

回答

9

Seq.distinct,或Seq.distinctBy會做你想要什麼。

假設查詢函數可以處理它們,如果你在報價中使用它 - 但不要在此引用我。