类中的Typescript方法重写引发错误 问题

类中的Typescript方法重写引发错误 问题,typescript,class,overriding,typeorm,Typescript,Class,Overriding,Typeorm,我想使用TypeORM构建数据库模型,但我不知道为什么它不允许覆盖EnumEntity中的ToClient方法 RootEntity中的所有道具都能正常工作,但是enumtentity中的ToClient不起作用。(ts2416错误) ToClient用于隐藏某些数据列,如'id' 代码 //RootEntity 导出接口可用性{ 身份证号码 创建时间:日期 更新日期:年月日 删除时间:日期 } 导出类型Trotenty=省略 导出抽象类RootEntity实现IRootEntity{ @Pri

我想使用TypeORM构建数据库模型,但我不知道为什么它不允许覆盖
EnumEntity
中的
ToClient
方法

RootEntity
中的所有道具都能正常工作,但是
enumtentity
中的
ToClient
不起作用。(ts2416错误)

ToClient
用于隐藏某些数据列,如'id'

代码
//RootEntity
导出接口可用性{
身份证号码
创建时间:日期
更新日期:年月日
删除时间:日期
}
导出类型Trotenty=省略
导出抽象类RootEntity实现IRootEntity{
@PrimaryGeneratedColumn()
身份证号码
@CreateDateColumn()
创建时间:日期
@UpdateDateColumn({onUpdate:'CURRENT_TIMESTAMP(6)})
更新时间:日期
@DeleteDateColumn()
已在!处删除:日期
ToClient():Trotenty{
常量值:IRootEntity={…this}
返回值
}
}
//枚举实体
导出接口IEnumEntity扩展了IRootEntity{
标题:字符串
}
导出类型TEnumEntity=拾取
导出抽象类EnumEntity扩展RootEntity{
@第()列
标题!:字符串
//抛出错误ts(2416)
ToClient():TEnumEntity{
常量值:IEnumEntity={…this}
返回值
}
}

是的,子类提供的与它的超类不兼容。这违反了子类型,语言对此发出了警告
// RootEntity
export interface IRootEntity {
  id: number
  created_at: Date
  updated_at: Date
  deleted_at: Date
}
export type TRootEntity = Omit<IRootEntity, 'id' | 'deleted_at'>

export abstract class RootEntity implements IRootEntity {
  @PrimaryGeneratedColumn()
  id!: number

  @CreateDateColumn()
  created_at!: Date

  @UpdateDateColumn({ onUpdate: 'CURRENT_TIMESTAMP(6)' })
  updated_at!: Date

  @DeleteDateColumn()
  deleted_at!: Date

  ToClient(): TRootEntity {
    const values: IRootEntity = { ...this }

    return values
  }
}
// EnumEntity
export interface IEnumEntity extends IRootEntity {
  title: string
}
export type TEnumEntity = Pick<IEnumEntity, 'id' | 'title'>

export abstract class EnumEntity extends RootEntity {
  @Column()
  title!: string

  // Throws error ts(2416)
  ToClient(): TEnumEntity { 
    const values: IEnumEntity = { ...this }

    return values
  }
}