如何解决为什么“无法从方法 'toHive' 返回类型为 'Set<ShProblemHive>' 的值,因为它的返回类型为 'ShProblemHive'”
我正在尝试将 Hive
数据库与域和数据层连接起来。但是,我正在努力将我的实体数据类转换为 HiveObject
。使用我目前的方法,我收到了这篇文章标题中所示的错误。其他尝试也失败了,我开始意识到,我似乎对这些构造函数的工作原理缺乏了解...
所以一般来说,我想在具有构造函数的域层中使用 class ShProblem
static ShProblem fromEntity(ShmProblemEntity entity) {
return ShProblem(
id: entity.id,level: entity.level,);
}
此构造函数应通过实体类从/向数据源接收/提供数据。从 Hive
获取数据应该可以工作(未经测试,但至少没有编译错误),但是,相反的方式不适用于 JSON 映射(在 todocument
构造函数中可见),我使用的是之前使用过其他数据库。
class ShmProblemEntity {
ShmProblemEntity({required this.id,required this.level,});
final int id;
final int level;
static ShmProblemEntity fromHive(ShProblemHive hiveObject) {
return ShmProblemEntity(
id: hiveObject.id,level: hiveObject.level,);
}
static ShProblemHive toHive() => {
ShProblemHive(
id: this.id,level: level,)
};
Map<String,dynamic> todocument() => {
"id": id,"level": level,};
所以,令我感到奇怪的是 fromHive
没有抛出错误而 toHive
抛出错误,尽管我注意到 fromHive
与 class
具有相同的数据类型的区别构造函数而 toHive
没有。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。