scala – 在Slick 3.0中获取受影响的行(Int)
发布时间:2020-12-16 08:44:26 所属栏目:安全 来源:网络整理
导读:在Slick的早期版本中,在TableQuery上定义了插入函数,返回插入结果.我正在迁移到新的API并执行以下操作: DBIO.seq(someTable += someValue) 但这有类型 dbio.DBIOAction[Unit,NoStream,Write] 我怎样才能收回受影响的行? 编辑 这里的问题似乎是类型没有按照
在Slick的早期版本中,在TableQuery上定义了插入函数,返回插入结果.我正在迁移到新的API并执行以下操作:
DBIO.seq(someTable += someValue) 但这有类型 dbio.DBIOAction[Unit,NoStream,Write] 我怎样才能收回受影响的行? 编辑 这里的问题似乎是类型没有按照我期望的方式排列.以下是Scala将类型视为: val q: PostgresDriver.DriverAction[PostgresDriver.InsertActionExtensionMethods[(String,String)]#SingleInsertResult,Write] = Admins.tableQuery += ((username,grantor)) val seq: dbio.DBIOAction[Unit,Write] = DBIO.seq(q) db.run(seq) 这对我来说没有意义.如果q有类型DriverAction [PostgresDriver.InsertActionExtensionMethods [(String,String)]#SingleInsertResult …其中SingleInsertResult是Int的类型别名那么我的DBIO.seq不应该返回DBIOAction [Int,Write]? 解决方法
看看
these examples
它与光滑的2.x没什么不同,但现在一切都返回Futures. 也许是某些事情(在我的头顶,我现在无法自己测试) val users = TableQuer[Users] // this is the query val q = (users += User(None,"Stefan","Zeiger")) // now you run it db.run(q).map{ affectedRows => case 1 => println("success") case _ => println("oops") } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |