sql - 如何将具有列表的对象保存为 SQL 数据库中的属性
问题描述
我想在我的 sqflite 数据库中存储 Day 对象列表。Day 类如下所示:
class Day {
String date;
List<DoneTask> doneTasks;
double score = 0;
Day({this.doneTasks, this.date});
}
DoneTask 类:
class DoneTask {
Category category;
double score;
String description;
DoneTask({this.category, this.score, this.description});
}
类别有一个属性 id,这是我想要存储的所有内容。
我不确定如何使用 sqflite 实现这一点。我正在考虑将属性添加String day
到 DoneTasks 类中,以便首先加载 DoneTasks,然后将它们分类到 Days 中。但这对我来说听起来不是一个好的解决方案,有谁知道我该如何以更好的方式做到这一点?
我对使用 SQL 很陌生,所以我很欣赏简单的答案/
(这是我用于 sqflite 的内容:https ://flutter.dev/docs/cookbook/persistence/sqlite )
解决方案
如果这是您要使用的数据架构,我建议您使用 noSQL 数据库。当然,我不知道您的整个项目的范围,因此由于某些我不知道的原因,SQL 数据库可能更适合。但是鉴于您所介绍的内容, sqflite 的 noSQL 替代品似乎是一个更好的选择。这将允许记录作为对象有效地存储,允许您将对象存储在对象中,而不必创建一堆相互交叉引用的表。这样做对我来说似乎更直观。
推荐阅读
- html - 我正在尝试水平缩进导航栏登录按钮
- hadoop - Mapreduce Job 以本地模式而不是集群运行
- crash - Java 7 支持 Mojave 上的应用程序崩溃
- java - JComboBox getSelectedIndex() 方法总是返回 0
- c# - 如何查看 vis studio 2017 中显示 SQL 错误的确切原因
- r - R:如何在月度数据中填写年度数据?
- azure - 使用 azure python sdk 从自定义图像创建池时出错
- dart - Flutter 背景浮窗功能
- healpy - healpy.pixelfunc.get_interp_val()或healpy.mollview()的经度和纬度定义不一致?
- javascript - Javascript地图功能