2012-09-14 11 views
5

これを書く方法F#でコンポジットキー句を使用してC#を結合するには? : groupby multiple columns in a F# 3.0 query まだ答えていない。FSharpクエリ式に複合キー句を使用して結合を書く方法は?

join k in DataContext.Catalogs on 
    new { id = o.IDENT, v = o.VZ } equals 
    new { id = k.IDENT, v = k.VZ } 

これは、これに似質問です。しかし、FSharpに書くのは簡単ではないとは思えません。

感謝したいキーフィールドを含む

答えて

9

使用タプル:あなたはC#ですることができますようにあなたは、F#で名前のフィールドを持つ匿名型を作成することはできません

query { 
    for o in DataContext.OTable do 
    join k in DataContext.Catalogs on 
    ((o.IDENT, o.VZ) = (k.IDENT, k.VZ)) 
    select (o.IDENT, k.VZ) 
} 

注意。タプルは、おそらく最も近い、最も慣用的な翻訳です。 Tomasの答えhereを参照してください。

関連する問題