Dart 使用@Relate和unique
我如何使用相关和独特的渡槽ORM 在我的代码中,我希望userapp是唯一的? 如果我试图将Dart 使用@Relate和unique,dart,aqueduct,Dart,Aqueduct,我如何使用相关和独特的渡槽ORM 在我的代码中,我希望userapp是唯一的? 如果我试图将@列(unique:true)放入,我会收到如下错误: ***“\u Professional”上的关系“userapp”不能同时具有“Column”和“Relate”元数据。添加索引标志或 关系的可空性,请参阅“Relate”的构造函数 我的代码如下: class Professional extends ManagedObject<_Professional> implements _Pr
@列(unique:true)
放入,我会收到如下错误:
***“\u Professional”上的关系“userapp”不能同时具有“Column”和“Relate”元数据。添加索引标志或
关系的可空性,请参阅“Relate”的构造函数
我的代码如下:
class Professional extends ManagedObject<_Professional> implements _Professional {}
class _Professional {
@primaryKey
int id;
@Relate(#professionals)
Userapp userapp;
@Column(defaultValue: 'true')
bool active;
ManagedSet<ProfessionalSpecialty> professionalSpecialties;
}
class Professional扩展ManagedObject实现_Professional{}
职业类{
@主键
int-id;
@关系(专业人士)
用户应用程序用户应用程序;
@列(默认值:“true”)
布尔活跃;
管理专业;
}
作为userapp
基础的外键列是否唯一取决于反向关系属性。在本例中,反过来是Userapp.professionals
如果Userapp.professionals
类型为professionals
,则将唯一约束添加到Userapp
;这是一种“只有一个”的关系
如果Userapp.professionals
类型为ManagedSet
,则不应用唯一约束;这是一种“有很多”的关系
我猜,因为您使用的是复数形式(professionals
),所以您声明的是ManagedSet
。更改\u Userapp
表定义中的声明,并确保与\u Professional
中的声明相反:
class _Userapp {
...
Professional professional;
}
class _Professional {
...
@Relate(#professional)
Userapp userapp;
}