如何在房间数据库中为我的 TODO 应用程序定义和使用标签系统
How to define and use a tag system for my TODO app in room database
我有一个简单的 TODO 应用程序,每个 TODO 都存储在房间数据库中。但我想为这些 TODO 添加标签,以便每个 TODO 可以有 0 个或更多标签,并且每个标签都是一个简单的字符串。所以问题是:这种情况的最佳解决方案是什么?如何为每个TODO存储这组标签?
你想要many-many关系。这需要在 TAG table 和 TODO table 之外使用第三个 table。这样的 table 有两列,一列引用 TAG table,另一列引用 TODO table.
主键应该是由两列组成的复合主键(因此 TODO/TAG 组合必须是唯一的,即您不希望 TODO 两次具有相同的标签)。
这个答案用 SQLite 术语涵盖了这个
这个答案从 Room 的角度涵盖了这个
Relationship many to many between objects not working for me in Android Room
我有一个简单的 TODO 应用程序,每个 TODO 都存储在房间数据库中。但我想为这些 TODO 添加标签,以便每个 TODO 可以有 0 个或更多标签,并且每个标签都是一个简单的字符串。所以问题是:这种情况的最佳解决方案是什么?如何为每个TODO存储这组标签?
你想要many-many关系。这需要在 TAG table 和 TODO table 之外使用第三个 table。这样的 table 有两列,一列引用 TAG table,另一列引用 TODO table.
主键应该是由两列组成的复合主键(因此 TODO/TAG 组合必须是唯一的,即您不希望 TODO 两次具有相同的标签)。
这个答案用 SQLite 术语涵盖了这个
这个答案从 Room 的角度涵盖了这个 Relationship many to many between objects not working for me in Android Room