gpt4 book ai didi

F# 查询与 C# LINQ

转载 作者:行者123 更新时间:2023-12-03 09:37:58 25 4
gpt4 key购买 nike

与 C# 相比,这个问题更多地涉及 F# 方面似乎冗长和不那么清晰的内容。一个相对较小的问题,但随着我编写的数据库查询越多,这个问题就变得非常烦人。

在 C# 中,我可以使用 LINQ 和 Entity Framework 执行以下操作:

 var q = (from row in db.LAYERS
where row.LIST1.Field1 == PARAM
select new MyClass( row.field1, row.field2, row.field3, row.field4)).ToList()

关键是在这里我只是在查询本身内部构建一个新的类列表。
而在 F# 中,这似乎不起作用,为了获得相同的结果,我正在做这样的事情:
    query { for row in db.LAYERS do 
where (row.LIST1.Field1 = PARAM)
select row.field1, row.field2, row.field3, row.field4 }
|> Seq.map (fun row -> new MyClass(row.field1, row.field2, row.field3, row.field4)

F# 要求我对查询序列进行映射以获取我想要的列表。

最佳答案

尽管您没有提供无法编译的代码,但我猜您只需要将对象创建表达式放在括号中:

query { for row in db.LAYERS do 
where (row.LIST1.Field1 = PARAM)
select (new MyClass(row.field1, row.field2, row.field3, row.field4)) }

关于F# 查询与 C# LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com