1

これ私はそれを理解することができず、元の問題を汚染したくありません. 常に使用する必要があり{ wrappedReference: true }ますIdentifiedReferenceか?

なぜなら、これは失敗します:

@Entity({ collection: "account" })
export class AccountEntity implements IdEntity<AccountEntity> {
    @PrimaryKey()
    public id!: number;

    @OneToOne(() => ArtistEntity, "account", { wrappedReference: true })
    public artist!: IdentifiedReference<ArtistEntity>;
}

@Entity({ collection: "artist" })
export class ArtistEntity implements IdEntity<ArtistEntity> {
    @PrimaryKey()
    public id!: number;

    @OneToOne(() => AccountEntity, { wrappedReference: true })
    public account!: IdentifiedReference<AccountEntity>;
}

と:

src/entities/artistEntity.ts(15,38): エラー TS2345: タイプ '{ラップリファレンス: ブール値の引数; }' はタイプ '"id" のパラメーターに代入できません | "名前" | "パスワード" | "電子メール" | "画像" | "アーティスト" | "コレクション" | "スタジオ" | ((e: AccountEntity) => 任意) | 未定義'。オブジェクト リテラルは既知のプロパティのみを指定でき、'wrappedReference' はタイプ '(e: AccountEntity) => any' には存在しません。

それで、これは正しいでしょうか?

@Entity({ collection: "account" })
export class AccountEntity implements IdEntity<AccountEntity> {
    @PrimaryKey()
    public id!: number;

    @OneToOne(() => ArtistEntity, "account", { wrappedReference: true })
    public artist!: IdentifiedReference<ArtistEntity>;
}

@Entity({ collection: "artist" })
export class ArtistEntity implements IdEntity<ArtistEntity> {
    @PrimaryKey()
    public id!: number;

    @OneToOne(() => AccountEntity)
    public account!: IdentifiedReference<AccountEntity>;
}
4

1 に答える 1