// -DtoQuery public async Task <StudentDto> CreateStudentAsync(StudentDto studentDto, string username) { OnCreate(studentDto, username); var entity = StudentDto.AsStudentFunc(studentDto); ToEntity(ref entity, studentDto); //entity.InsertUser = entity.LastActivityUser = username; //entity.InsertDateTime = entity.LastActivityDateTime = DateTime.UtcNow; entity.AddTracker(username); _context.Students.Add(entity); OnBeforeCreate(entity, username); try { await _context.SaveChangesAsync(); } catch (Exception ex) { // _context.Entry(entity).State = EntityState.Detached; throw new Exception("Add error", ex); } finally { // _context.Entry(entity).State = EntityState.Detached; } OnAfterCreate(entity, username); // studentDto = StudentDto.AsStudentDtoFunc(entity); studentDto = await GetStudentDtoAsync(entity.Id, StudentDto.IncludeNavigations()); return(studentDto); }