请用非常简单的语言解释,并以适当的例子说明,我已经遵循了官方文件,但我不明白。
发布于 2021-09-29 08:32:41
EntityRepository是从数据库访问实体的一种方便方法,因为它处理单个实体,它带有实体名称,因此我们不必在find(),findAll()调用中传递它。
示例:
import { EntityRepository } from '@mikro-orm/postgresql';
import { User } from './entities/user.entity';
@Injectable()
export class UserService {
constructor(
@InjectRepository(User)
private readonly userRepository: EntityRepository<User>,
) {}
async getUserByPhone(phone: string) {
return await this.userRepository.findOne({ phone }); //we are not passing any entity here while making a database call.
}
}然而,EntityManager处理所有实体。这就是为什么在使用find()和findAll()调用时,我们需要提到要访问哪个实体。
示例:
return await orm.em.findOne(User, { phone: phoneNumber }); //we have to pass User entity here while making a database call.https://stackoverflow.com/questions/69314663
复制相似问题