F#で複合C#句を使用してこのC#joinを記述する方法:
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#の名前付きフィールドで匿名型を作成することはできません。タプルはおそらく最も近いそして最も慣用的な翻訳です。 Tomasの答えを見るここに。