F#linq - 如何仅过滤唯一值?

cnd*_*cnd 1 linq f# linq-to-sql

我的seq 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
Run Code Online (Sandbox Code Playgroud)

但在这里我只需要唯一的值......

Mas*_*sif 9

Seq.distinct,或Seq.distinctBy将做你想做的.

假设查询函数可以处理它们,如果你在引用中使用它 - 但不要引用我.