From 3a0110e0bcc84eb6f3ff1b293ad31e3bf8fe0228 Mon Sep 17 00:00:00 2001 From: jaredcnance Date: Tue, 16 May 2017 08:41:43 -0500 Subject: [PATCH 1/2] fix(#107): duplicate db calls in controller --- docs/Errors.md | 4 ++-- src/JsonApiDotNetCore/Controllers/JsonApiController.cs | 4 ++-- src/JsonApiDotNetCore/Data/DefaultEntityRepository.cs | 9 +++------ 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/docs/Errors.md b/docs/Errors.md index 7b7a8928b0..59f4f6da21 100644 --- a/docs/Errors.md +++ b/docs/Errors.md @@ -31,8 +31,8 @@ public override async Task PostAsync([FromBody] MyEntity entity) return Error(new CustomError("507", "Database is full.", "Theres no more room.", "Sorry.")); if(model.Validations.IsValid == false) - return Errors(model.Validations.Select(v => v.GetErrors())); - + return Errors(model.Validations.GetErrors()); + // ... } ``` \ No newline at end of file diff --git a/src/JsonApiDotNetCore/Controllers/JsonApiController.cs b/src/JsonApiDotNetCore/Controllers/JsonApiController.cs index 2ff94b3ef3..094a74f2d3 100644 --- a/src/JsonApiDotNetCore/Controllers/JsonApiController.cs +++ b/src/JsonApiDotNetCore/Controllers/JsonApiController.cs @@ -64,11 +64,11 @@ public virtual async Task GetAsync(TId id) [HttpGet("{id}/relationships/{relationshipName}")] public virtual async Task GetRelationshipsAsync(TId id, string relationshipName) { - var relationship = _resourceService.GetRelationshipsAsync(id, relationshipName); + var relationship = await _resourceService.GetRelationshipsAsync(id, relationshipName); if(relationship == null) return NotFound(); - return await GetRelationshipAsync(id, relationshipName); + return Ok(relationship); } [HttpGet("{id}/{relationshipName}")] diff --git a/src/JsonApiDotNetCore/Data/DefaultEntityRepository.cs b/src/JsonApiDotNetCore/Data/DefaultEntityRepository.cs index 2005478bbf..4630cf3b49 100644 --- a/src/JsonApiDotNetCore/Data/DefaultEntityRepository.cs +++ b/src/JsonApiDotNetCore/Data/DefaultEntityRepository.cs @@ -51,7 +51,7 @@ public virtual IQueryable Get() { if(_jsonApiContext.QuerySet?.Fields != null && _jsonApiContext.QuerySet.Fields.Any()) return _dbSet.Select(_jsonApiContext.QuerySet?.Fields); - + return _dbSet; } @@ -92,12 +92,9 @@ public virtual async Task GetAndIncludeAsync(TId id, string relationshi var result = await Get() .Include(relationshipName) - .Where(e => e.Id.Equals(id)) - .ToListAsync(); - - _logger.LogDebug($"[JADN] Found {result.Count} entity"); + .SingleOrDefaultAsync(e => e.Id.Equals(id)); - return result.SingleOrDefault(); + return result; } public virtual async Task CreateAsync(TEntity entity) From 6b505b95880ff4ee7496be6427ae66008653bd92 Mon Sep 17 00:00:00 2001 From: jaredcnance Date: Tue, 16 May 2017 08:42:17 -0500 Subject: [PATCH 2/2] chore(csproj): bump package version --- src/JsonApiDotNetCore/JsonApiDotNetCore.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj index 6ae3272ca4..eb6ca54017 100755 --- a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj +++ b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj @@ -1,6 +1,6 @@  - 2.0.5 + 2.0.6 netstandard1.6 JsonApiDotNetCore JsonApiDotNetCore