Room数据库中是否有方法检索已更新的数据列表?
示例:假设我有一个名为Note的表,并且有一个类似于以下内容的更新查询:
@Query("UPDATE note SET archive = 1 WHERE date > '20200101'")
abstract suspend fun updateNote()
如何获取已更新的笔记列表?
我做了一些研究,但找不到任何可靠的链接或文章。感谢您的帮助。干杯
编辑:
我想我可以使用distinctUntilChanged,但不能100%确定。
我认为@Transaction
方法可以解决您的问题,比如:
@Query("SELECT * FROM note WHERE date > '20200101'")
suspend fun getFilteredNotes(): List<Note>
@Query("UPDATE note SET archive = 1 WHERE date > '20200101'")
suspend fun updateNote()
@Transaction
suspend fun getNotesAndUpdate(): List<Note> {
val filteredNotes = getFilteredNotes()
updateNote()
return filteredNotes
}