scalaquery问题没有隐式会话

tir*_*ran 7 scala scalaquery

这是我要执行的scalaquery查询,

...
def generateFares(scheduleId:NamedColumn[Int], toCityId:NamedColumn[Int], fromCityId:NamedColumn[Int]):List[(String,Int,String)] = {
      var list:List[(String,Int,String)] = Nil;
      val q = for {
        tf <- ticketingDB.ticketFares if (( tf.scheduleId is scheduleId ) && ( tf.fromCityId is fromCityId ) && ( tf.toCityId is toCityId ))
        tft <- ticketingDB.ticketFareType if tft.id is tf._7
      }{
        list = (tft._2, tf._5, tf._6)::list
      }
      list
    }
...
Run Code Online (Sandbox Code Playgroud)

在这个连接中,我收到一个编译错误:

 could not find implicit value for parameter session: org.scalaquery.session.Session
Run Code Online (Sandbox Code Playgroud)

在第二个电话中.(tft < - ticketingDB)

我无法理解scalaquery的这种行为.

ps:我可以保证在withSession块中调用该方法.

请帮我调试并创建无错连接.

tir*_*ran 14

对不起,我发布了解决方案作为评论,

我自己想出了答案.你应该导入threadLocalSession来获取会话对象.

import org.scalaquery.session.Database.threadLocalSession 
Run Code Online (Sandbox Code Playgroud)

  • 对于光滑:`import scala.slick.session.Database.threadLocalSession` (3认同)