diff --git a/lib/typeorm.providers.ts b/lib/typeorm.providers.ts index 927d38fa2..4372ab960 100644 --- a/lib/typeorm.providers.ts +++ b/lib/typeorm.providers.ts @@ -1,6 +1,6 @@ import { Provider } from '@nestjs/common'; -import { DataSource, DataSourceOptions, getMetadataArgsStorage } from 'typeorm'; -import { getDataSourceToken, getRepositoryToken } from './common/typeorm.utils'; +import { DataSource, DataSourceOptions, EntityManager, getMetadataArgsStorage } from 'typeorm'; +import { getDataSourceToken, getEntityManagerToken, getRepositoryToken } from './common/typeorm.utils'; import { EntityClassOrSchema } from './interfaces/entity-class-or-schema.type'; export function createTypeOrmProviders( @@ -9,8 +9,8 @@ export function createTypeOrmProviders( ): Provider[] { return (entities || []).map((entity) => ({ provide: getRepositoryToken(entity, dataSource), - useFactory: (dataSource: DataSource) => { - const entityMetadata = dataSource.entityMetadatas.find( + useFactory: (entityManager: EntityManager) => { + const entityMetadata = entityManager.connection.entityMetadatas.find( (meta) => meta.target === entity, ); const isTreeEntity = typeof entityMetadata?.treeType !== 'undefined'; @@ -20,7 +20,7 @@ export function createTypeOrmProviders( ? dataSource.getMongoRepository(entity) : dataSource.getRepository(entity); }, - inject: [getDataSourceToken(dataSource)], + inject: [getEntityManagerToken(dataSource)], /** * Extra property to workaround dynamic modules serialisation issue * that occurs when "TypeOrm#forFeature()" method is called with the same number