微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么“无法从方法 'toHive' 返回类型为 'Set<ShProblemHive>' 的值,因为它的返回类型为 'ShProblemHive'”

如何解决为什么“无法从方法 '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 举报,一经查实,本站将立刻删除。