是否可以在插入房间后返回流<列表<Long>>?



插入Room后是否可以返回Flow<List<Long>>

类似这样的东西:

@Insert(onConflict = REPLACE)
suspend fun insert( notesModel: List<NotesModel>): Flow<List<Long>>

当我这样做的时候,我会得到一个例外:

错误:不确定如何处理insert方法的返回类型。

AFAIK,你不能。@Insert注释函数的返回类型可以是UnitLongList<Long>Array<Long>

只有@Query带注释的函数才能返回可观察对象,如LivaDataFlowSingleFlowable。因为@Query函数被设计为能够反映数据库上的变化。

以下是官方文件中的一句话:

如果@Insert方法只接收一个参数,它可以返回一个long,即插入项的新行Id。如果参数是数组或集合,则应改为返回long[]或List。

最新更新