typmorm 类似ef的懒加载
typmorm 类似ef的懒加载
在TypeORM中,可以通过设置关系的eager: false
属性来实现类似于Entity Framework Core(EF)的懒加载功能。这意味着关联的实体将默认不会立即加载,而是在访问它们时才加载。
以下是一个简单的例子,演示如何在TypeORM中实现懒加载:
import { Entity, PrimaryGeneratedColumn, Column, OneToMany, ManyToOne, ManyToMany, JoinTable, RelationId, CreateDateColumn, UpdateDateColumn } from 'typeorm';
export class User {
id: number;
name: string;
posts: Post[];
}
export class Post {
id: number;
title: string;
content: string;
user: User;
}
在上述代码中,User
实体有一个posts
属性,它是Post
的一个OneToMany
关系。通过将eager
属性设置为false
,当你访问user.posts
时,Posts数据才会被加载。这就是实现懒加载的方法。
要注意的是,懒加载只有在查询关联数据时才会生效。如果你在创建查询时已经加载了关联数据(例如通过join
或者preload
方法),则懒加载不会起作用。
漫思