如何在F#中编写带有复合键子句的C#连接? :
join k in DataContext.Catalogs on
new { id = o.IDENT, v = o.VZ } equals
new { id = k.IDENT, v = k.VZ }
这是一个类似的问题:
groupby multiple columns in a F# 3.0 query
仍然没有答案。但是我不敢相信用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的答案here。
关于join - 如何在FSharp查询表达式中编写带有复合键子句的联接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12423426/