如何使用像 TypeORM 这样的 NestJS 在 Prisma 2 中创建自定义存储库?

问题描述

在 TypeORM 中,我可以像这样创建一个 Customrepository:

import {EntityRepository,Repository} from "typeorm";
import {User} from "../entity/User";

@EntityRepository(User)
export class UserRepository extends Repository<User> {

    findByName(firstName: string,lastName: string) {
        return this.findOne({ firstName,lastName });
    }

}

如何使用 prisma 2 和 nestJS 达到相同的结果?

解决方法

我不知道如何制作与使用 entityRepository 完全相同的东西。

但是,你可以在 PrismaService 类中实现

onUserOffline()

然后你可以像下面这样运行

import { Injectable,OnModuleInit,OnModuleDestroy } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';

@Injectable()
export class PrismaService extends PrismaClient
  implements OnModuleInit,OnModuleDestroy {       

    async onModuleInit() {
      await this.$connect();
    }
    async onModuleDestroy() {
      await this.$disconnect();
    }

    findByName(firstName: string,lastName: string) {
      return this.findOne({ firstName,lastName });
    }
}