这是我第一次在项目中使用typeorm
。
我正在尝试在entity
上添加外键,但是当它作为表生成时。我看不到绑定到该列的关系/外键。
这是示例实体:
Locale.ts
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity('Locale')
export class Locale {
@PrimaryGeneratedColumn()
ID: number;
@Column()
Name: string;
@Column()
LanguageCode: string;
}
TranslationTitle.ts
import { Locale } from './../locale/Locale';
import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from "typeorm";
@Entity('TranslationTitle')
export class TranslationTitle {
@PrimaryGeneratedColumn()
ID: number;
@Column()
CreatedBy: string;
@Column()
CreatedDate: string;
@Column()
Status: boolean;
@Column()
ModifiedBy: string;
@Column()
ModifiedDate: string;
@Column()
Text: string;
@Column()
@OneToMany(type => Locale, locale => locale.ID)
Locale: number;
}
因此,我期望在此代码上将Locale
列用作ID
表的Locale
字段的外键。
但是当我查看生成的表时,两个字段之间没有任何关系。
我在这里想念东西吗?
答案 0 :(得分:0)
您的TranslationTitle最多具有1个语言环境,因此它是ManyToOne映射,而不是OneToMany(1个语言环境的许多标题)。另外,您的字段定义不正确,因为它不应为数字,而应为语言环境类型。
@Column()
@ManyToOne(type => Locale, {
nullable: true
})
Locale: Locale;