0

在 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 达到相同的结果?

4

1 回答 1

0

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

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

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 });
    }
}

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

in your class.ts
class something {
  constructor(private readonly prisma : PrismaService){}
  
  findName(){
    this.prisma.findByName(something);
  }
}
于 2021-03-28T01:34:47.673 回答