为什么“无法从方法 '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 抛出错误,尽管我注意到 fromHiveclass 具有相同的数据类型的区别构造函数toHive 没有。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)