我正在尝试使用 Quill 动态查询来执行批量插入
在非动态 api 中,我会使用:
db.run(quote {
liftQuery(myCollection).foreach(data => querySchema[MyDBClass]("table").insert(data))
})
我尝试对动态查询做同样的事情:
db.run({
liftQuery(myCollection).foreach(data => dynamicQuerySchema[MyDBClass](tableNameVar).insertValue(data))
})
但是我收到以下错误:
没有找到参数取消引号的隐式:动态插入[MyDBClass] => A_
我是否正确使用了 API? 任何帮助将不胜感激
解决方法是:
val dynamicSchema = context.dynamicQuerySchema[MyDBClass](tableNameVar)
context.transaction {
myCollection.foreach { p =>
context.run(dynamicSchema.insertValue(p))
}
}
对于卡桑德拉使用,无需交易