0

我已经看到许多flutter sqfLite基于代码使用(TableName)sCompanion而不是(TableName)s.

与前者相比,使用它有什么优势?

4

1 回答 1

0

假设您的表的名称是 Task。

class Tasks extends Table{
 IntColumn get taskid => integer().autoIncrement()(); 
 TextColumn get title => text().withLength(min:1,max:20)();

}

该表由 taskid 组成,它自动递增,无需用户输入。现在,如果我们要使用:

Task(
 title: data,
);

代替:

TasksCompanion(
 title: Value(data),
);

可能会出现错误,提示 taskid 是必需的,但没有给出任何值。因此,无论何时我们有一个 autoIncrement 值,或者假设您不想填写每个字段(taskid、title 等)。然后我们使用 Companions 只为有限的字段赋值。

于 2019-07-25T14:46:31.057 回答