@@ -42,23 +42,30 @@ public DefaultResourceRepository(
4242 _context = contextResolver . GetContext ( ) ;
4343 _dbSet = _context . Set < TResource > ( ) ;
4444 _logger = loggerFactory . CreateLogger < DefaultResourceRepository < TResource , TId > > ( ) ;
45-
46- _logger . LogTrace ( "Executing constructor." ) ;
4745 }
4846
4947 /// <inheritdoc />
5048 public virtual IQueryable < TResource > Get ( )
5149 {
50+ _logger . LogTrace ( $ "Entering { nameof ( Get ) } ().") ;
51+
5252 var resourceContext = _resourceGraph . GetResourceContext < TResource > ( ) ;
5353 return EagerLoad ( _dbSet , resourceContext . EagerLoads ) ;
5454 }
5555
5656 /// <inheritdoc />
57- public virtual IQueryable < TResource > Get ( TId id ) => Get ( ) . Where ( e => e . Id . Equals ( id ) ) ;
57+ public virtual IQueryable < TResource > Get ( TId id )
58+ {
59+ _logger . LogTrace ( $ "Entering { nameof ( Get ) } ('{ id } ').") ;
60+
61+ return Get ( ) . Where ( e => e . Id . Equals ( id ) ) ;
62+ }
5863
5964 /// <inheritdoc />
6065 public virtual IQueryable < TResource > Select ( IQueryable < TResource > entities , IEnumerable < AttrAttribute > fields = null )
6166 {
67+ _logger . LogTrace ( $ "Entering { nameof ( Select ) } ({ nameof ( entities ) } , { nameof ( fields ) } ).") ;
68+
6269 if ( fields != null && fields . Any ( ) )
6370 return entities . Select ( fields ) ;
6471
@@ -68,6 +75,8 @@ public virtual IQueryable<TResource> Select(IQueryable<TResource> entities, IEnu
6875 /// <inheritdoc />
6976 public virtual IQueryable < TResource > Filter ( IQueryable < TResource > entities , FilterQueryContext filterQueryContext )
7077 {
78+ _logger . LogTrace ( $ "Entering { nameof ( Filter ) } ({ nameof ( entities ) } , { nameof ( filterQueryContext ) } ).") ;
79+
7180 if ( filterQueryContext . IsCustom )
7281 {
7382 var query = ( Func < IQueryable < TResource > , FilterQuery , IQueryable < TResource > > ) filterQueryContext . CustomQuery ;
@@ -79,12 +88,16 @@ public virtual IQueryable<TResource> Filter(IQueryable<TResource> entities, Filt
7988 /// <inheritdoc />
8089 public virtual IQueryable < TResource > Sort ( IQueryable < TResource > entities , SortQueryContext sortQueryContext )
8190 {
91+ _logger . LogTrace ( $ "Entering { nameof ( Sort ) } ({ nameof ( entities ) } , { nameof ( sortQueryContext ) } ).") ;
92+
8293 return entities . Sort ( sortQueryContext ) ;
8394 }
8495
8596 /// <inheritdoc />
8697 public virtual async Task < TResource > CreateAsync ( TResource entity )
8798 {
99+ _logger . LogTrace ( $ "Entering { nameof ( CreateAsync ) } ({ ( entity == null ? "null" : "object" ) } ).") ;
100+
88101 foreach ( var relationshipAttr in _targetedFields . Relationships )
89102 {
90103 object trackedRelationshipValue = GetTrackedRelationshipValue ( relationshipAttr , entity , out bool relationshipWasAlreadyTracked ) ;
@@ -184,6 +197,8 @@ private void DetachRelationships(TResource entity)
184197 /// <inheritdoc />
185198 public virtual async Task < TResource > UpdateAsync ( TResource updatedEntity )
186199 {
200+ _logger . LogTrace ( $ "Entering { nameof ( UpdateAsync ) } ({ ( updatedEntity == null ? "null" : "object" ) } ).") ;
201+
187202 var databaseEntity = await Get ( updatedEntity . Id ) . FirstOrDefaultAsync ( ) ;
188203 if ( databaseEntity == null )
189204 return null ;
@@ -264,6 +279,8 @@ private IIdentifiable GetTrackedHasOneRelationshipValue(IIdentifiable relationsh
264279 /// <inheritdoc />
265280 public async Task UpdateRelationshipsAsync ( object parent , RelationshipAttribute relationship , IEnumerable < string > relationshipIds )
266281 {
282+ _logger . LogTrace ( $ "Entering { nameof ( UpdateRelationshipsAsync ) } ({ nameof ( parent ) } , { nameof ( relationship ) } , { nameof ( relationshipIds ) } ).") ;
283+
267284 var typeToUpdate = ( relationship is HasManyThroughAttribute hasManyThrough )
268285 ? hasManyThrough . ThroughType
269286 : relationship . RightType ;
@@ -277,6 +294,8 @@ public async Task UpdateRelationshipsAsync(object parent, RelationshipAttribute
277294 /// <inheritdoc />
278295 public virtual async Task < bool > DeleteAsync ( TId id )
279296 {
297+ _logger . LogTrace ( $ "Entering { nameof ( DeleteAsync ) } ('{ id } ').") ;
298+
280299 var entity = await Get ( id ) . FirstOrDefaultAsync ( ) ;
281300 if ( entity == null ) return false ;
282301 _dbSet . Remove ( entity ) ;
@@ -299,6 +318,8 @@ private IQueryable<TResource> EagerLoad(IQueryable<TResource> entities, IEnumera
299318
300319 public virtual IQueryable < TResource > Include ( IQueryable < TResource > entities , IEnumerable < RelationshipAttribute > inclusionChain = null )
301320 {
321+ _logger . LogTrace ( $ "Entering { nameof ( Include ) } ({ nameof ( entities ) } , { nameof ( inclusionChain ) } ).") ;
322+
302323 if ( inclusionChain == null || ! inclusionChain . Any ( ) )
303324 {
304325 return entities ;
@@ -321,6 +342,8 @@ public virtual IQueryable<TResource> Include(IQueryable<TResource> entities, IEn
321342 /// <inheritdoc />
322343 public virtual async Task < IEnumerable < TResource > > PageAsync ( IQueryable < TResource > entities , int pageSize , int pageNumber )
323344 {
345+ _logger . LogTrace ( $ "Entering { nameof ( PageAsync ) } ({ nameof ( entities ) } , { pageSize } , { pageNumber } ).") ;
346+
324347 // the IQueryable returned from the hook executor is sometimes consumed here.
325348 // In this case, it does not support .ToListAsync(), so we use the method below.
326349 if ( pageNumber >= 0 )
@@ -351,6 +374,8 @@ public virtual async Task<IEnumerable<TResource>> PageAsync(IQueryable<TResource
351374 /// <inheritdoc />
352375 public async Task < int > CountAsync ( IQueryable < TResource > entities )
353376 {
377+ _logger . LogTrace ( $ "Entering { nameof ( CountAsync ) } ({ nameof ( entities ) } ).") ;
378+
354379 if ( entities is IAsyncEnumerable < TResource > )
355380 {
356381 return await entities . CountAsync ( ) ;
@@ -361,6 +386,8 @@ public async Task<int> CountAsync(IQueryable<TResource> entities)
361386 /// <inheritdoc />
362387 public virtual async Task < TResource > FirstOrDefaultAsync ( IQueryable < TResource > entities )
363388 {
389+ _logger . LogTrace ( $ "Entering { nameof ( FirstOrDefaultAsync ) } ({ nameof ( entities ) } ).") ;
390+
364391 return ( entities is IAsyncEnumerable < TResource > )
365392 ? await entities . FirstOrDefaultAsync ( )
366393 : entities . FirstOrDefault ( ) ;
@@ -369,6 +396,8 @@ public virtual async Task<TResource> FirstOrDefaultAsync(IQueryable<TResource> e
369396 /// <inheritdoc />
370397 public async Task < IReadOnlyList < TResource > > ToListAsync ( IQueryable < TResource > entities )
371398 {
399+ _logger . LogTrace ( $ "Entering { nameof ( ToListAsync ) } ({ nameof ( entities ) } ).") ;
400+
372401 if ( entities is IAsyncEnumerable < TResource > )
373402 {
374403 return await entities . ToListAsync ( ) ;
0 commit comments