private async Task <Project> CreateAsync(Project project) { CheckBeforeCreate(project); var dbItem = AbstractionsConverter.ToProject(project); await _context.Projects.AddAsync(dbItem); await _context.SaveChangesAsync(); var result = await _context.Projects .AsNoTracking() .Include(x => x.Category) .Include(x => x.GalleryImages) .Include(x => x.ExternalUrls) .ThenInclude(x => x.ExternalUrl) .FirstOrDefaultAsync(x => x.Id == dbItem.Id); if (result == null) { throw new InconsistencyException(Resources.TextMessages.ProjectDoesNotExist); } return(DataConverter.ToProject(result)); }