使用Realm定义含Command列表的UserDatabase模型时生成失败求助
错误原因及解决方法
错误原因
在Realm Dart中定义模型关联关系时,代码生成器仅识别被@RealmModel()注解的私有模型类(带下划线的_Command)为合法的Realm模型类型。你在_UserDatabase中使用生成后的公共类Command定义列表,生成器无法将其识别为有效Realm类型,因此抛出List<InvalidType>错误。
解决方法
把_UserDatabase里的List<Command>替换为List<_Command>,_Command是被@RealmModel()标记的合法模型类,生成器能正确识别并处理该关联列表。
修改后的_UserDatabase代码:
import 'package:realm/realm.dart'; import 'command.dart'; part 'user_database.realm.dart'; @RealmModel() class _UserDatabase { @PrimaryKey() late ObjectId id; late String user_id; late List<_Command> commands; // 替换为私有模型类_Command }
修改完成后重新运行dart run realm generate即可正常生成代码。
内容的提问来源于stack exchange,提问作者zivglb
相关产品推荐
相关产品推荐

