1212use AutoMapper \Loader \FileLoader ;
1313use AutoMapper \Metadata \MetadataFactory ;
1414use AutoMapper \Metadata \MetadataRegistry ;
15+ use AutoMapper \Provider \Doctrine \DoctrineProvider ;
1516use AutoMapper \Provider \ProviderInterface ;
1617use AutoMapper \Provider \ProviderRegistry ;
1718use AutoMapper \Symfony \ExpressionLanguageProvider ;
1819use AutoMapper \Transformer \PropertyTransformer \PropertyTransformerInterface ;
1920use AutoMapper \Transformer \PropertyTransformer \PropertyTransformerRegistry ;
2021use AutoMapper \Transformer \TransformerFactoryInterface ;
2122use Doctrine \Common \Annotations \AnnotationReader ;
23+ use Doctrine \ORM \EntityManagerInterface ;
2224use Symfony \Component \EventDispatcher \EventDispatcher ;
2325use Symfony \Component \EventDispatcher \EventDispatcherInterface ;
2426use Symfony \Component \ExpressionLanguage \ExpressionLanguage ;
@@ -148,6 +150,7 @@ public static function create(
148150 EventDispatcherInterface $ eventDispatcher = new EventDispatcher (),
149151 iterable $ providers = [],
150152 bool $ removeDefaultProperties = false ,
153+ ?EntityManagerInterface $ entityManager = null ,
151154 ): AutoMapperInterface {
152155 if (\count ($ transformerFactories ) > 0 ) {
153156 trigger_deprecation ('jolicode/automapper ' , '9.0 ' , 'The "$transformerFactories" property will be removed in version 10.0, AST transformer factories must be included within AutoMapper. ' , __METHOD__ );
@@ -176,6 +179,12 @@ public static function create(
176179 $ classDiscriminatorFromClassMetadata = new ClassDiscriminatorFromClassMetadata ($ classMetadataFactory );
177180 }
178181
182+ $ providers = iterator_to_array ($ providers );
183+
184+ if (null !== $ entityManager ) {
185+ $ providers [] = new DoctrineProvider ($ entityManager );
186+ }
187+
179188 $ customTransformerRegistry = new PropertyTransformerRegistry ($ propertyTransformers );
180189 $ metadataRegistry = new MetadataRegistry ($ configuration );
181190 $ providerRegistry = new ProviderRegistry ($ providers );
@@ -192,6 +201,7 @@ public static function create(
192201 $ expressionLanguage ,
193202 $ eventDispatcher ,
194203 $ removeDefaultProperties ,
204+ $ entityManager ,
195205 );
196206
197207 $ mapperGenerator = new MapperGenerator (
0 commit comments