我是否可以避免将整个实体用于TypeOrm相关表上的数据?

我是否可以避免将整个实体用于TypeOrm相关表上的数据?,typeorm,Typeorm,我有一些在TypeOrm上具有N:N关系的示例实体: export default class Model extends BaseEntity { @ManyToMany(type => Market, market => market.id,{ onDelete: 'CASCADE'}) @JoinTable({ 'name': 'model_enabled_markets' }) marketsEnabled: Market[]; //... } export

我有一些在TypeOrm上具有N:N关系的示例实体:

export default class Model extends BaseEntity {
  @ManyToMany(type => Market, market => market.id,{ onDelete: 'CASCADE'})
  @JoinTable({ 'name': 'model_enabled_markets' })
  marketsEnabled: Market[];
  //...
}
export default class Market extends BaseEntity {
  @ManyToMany<Model>(type => Model, model => model.id,{ onDelete: 'RESTRICT'})
  enabledModels: Promise<Model[]>;
  //...
}
导出默认类模型扩展BaseEntity{
@ManyToMany(type=>Market,Market=>Market.id,{onDelete:'CASCADE'})
@JoinTable({'name':'model_enabled_markets'})
marketsEnabled:市场[];
//...
}
导出默认类市场扩展BaseEntity{
@ManyToMany(type=>Model,Model=>Model.id,{onDelete:'RESTRICT'})
使能模型:承诺;
//...
}

在将新模型实例保存到数据库时,如果我有需要放置在
marketsEnabled
上的ID,是否有任何方法可以直接使用它们?或者我需要用这些ID查询所需的市场,并用它们分配一个数组吗?

TypeORM希望所有实体对象(将)都存在于关系数组中(例如,因为存在关系),这是必要的。除此之外,typescript还需要一个与模型匹配的对象,因此仅仅传递一个带有
id
字段的对象可能是不够的


要直接操作联接表,最好将其作为实体类。这允许您添加或删除单个外部id行,而无需首先加载链接实体对象的导航属性(关系数组)中的所有关系项。

Decorator的第二个参数需要关系的反向导航属性,而不是主键。