このC#結合と複合キー句をF#で作成するにはどうすればよいですか?:
join k in DataContext.Catalogs on
new { id = o.IDENT, v = o.VZ } equals
new { id = k.IDENT, v = k.VZ }
これはこれと同様の質問です 。F#3.0クエリの複数の列をgroupbyしますが、 まだ応答されていません。しかし、FSharpで書くのは簡単ではないと信じられません。
ありがとう
このC#結合と複合キー句をF#で作成するにはどうすればよいですか?:
join k in DataContext.Catalogs on
new { id = o.IDENT, v = o.VZ } equals
new { id = k.IDENT, v = k.VZ }
これはこれと同様の質問です 。F#3.0クエリの複数の列をgroupbyしますが、 まだ応答されていません。しかし、FSharpで書くのは簡単ではないと信じられません。
ありがとう
必要なキー フィールドを含むタプルを使用します。
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)
}
C# のように、F# では名前付きフィールドを持つ匿名型を作成できないことに注意してください。タプルは、おそらく最も近い、最も慣用的な翻訳です。ここでトーマスの答えを見てください。