我有一个关于 Slick 的简单问题。抱歉,如果这是有据可查的 - 我可能在搜索中忽略了一些东西。
我有一个如下构建的聚合查询:
def doQuery(/* ... */) = for {
a <- Query(TableA)
b <- a.relationship.where // ...
c <- b.relationship.where // ...
} yield (a, b, c)
这给我一个Query[(A, B, C)]
.
我还有一个案例类:
case class Aggregate(a: A, b: B, c: C)
我想将我的查询转换为 aQuery[Aggregate]
以便我的开发人员可以调用.list()
or.firstOption()
并获得 a List
or Option
。
我自然而然地选择了.map()
on 方法Query
,但它有一个隐含的Shape
论点,我不确定如何处理。
这在 Slick 中是直截了当的吗?我们目前使用的是 v1.0.1,但升级到 2.0 也是可能的。
此致,
戴夫