我有两条记录,我试图加入并分组。我现在正在尝试将数据投影到另一条记录中。问题是我无法弄清楚如何获得对分组属性的访问权限。 这是代码:
第一条记录:
type Product = {
Id : string;
Name : string;
Description : string;
}
第二条记录:
type ProductOption = {
Id : string;
ProductId : string;
SizeId : int;
Price : decimal;
}
最终记录:
type ProductDetails = {
Product : Product;
Options : seq<ProductOption>;
}
这是我的groupBy代码:
let getProductDetails =
query{
for row in productRecords do
join opt in productOptionRecords on
(row.Id = opt.ProductId)
groupBy row.Id into prod
// here is my problem, this below does not work
select {
Product = prod.Product,
Options = prod.ProductOption
}
}
我在这里做错了什么。
答案 0 :(得分:3)
我相信你所寻找的是groupJoin
- 运营商。下面的代码编译,并且众所周知,然后它几乎肯定是正确的。;)但是你最好检查一下。我还没有对任何实际数据进行过测试。
query{
for prod in productRecords do
groupJoin opt in productOptionRecords on
(prod.Id = opt.ProductId) into prodopts
select {
Product = prod;
Options = prodopts
}
}