I still get zero as response on my Edentity Column after SaveChangesAsync()
.
Here's my entity
public class Person
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PersonID { get; set; }
[Required, Column(TypeName = "VARCHAR"), StringLength(50)]
public string? Name { get; set; }
[Required, Column(TypeName = "VARCHAR"), StringLength(50), DataType(DataType.EmailAddress)]
public string? Email { get; set; }
public DateTime DateOfBirth { get; set; }
[StringLength(100)]
public string? Address { get; set; }
}
public static class PersonExtensionMethod
{
public static PersonResponse ToResponse(this Person person)
{
return new PersonResponse()
{
PersonID = person.PersonID,
Name = person.Name,
Email = person.Email,
DateOfBirth = person.DateOfBirth,
Address = person.Address,
};
}
}
Here's my insert method from service
public Task<PersonResponse?> AddPersonAsync(PersonAddRequest addRequest)
{
Person newPerson = addRequest.ToPerson();
_dbContext.Persons.Add(newPerson);
_dbContext.SaveChangesAsync();
return Task.FromResult<PersonResponse?>(newPerson.ToResponse());
}
You have missed await
and insert into database performed later than response has been generated:
public async Task<PersonResponse?> AddPersonAsync(PersonAddRequest addRequest)
{
Person newPerson = addRequest.ToPerson();
_dbContext.Persons.Add(newPerson);
await _dbContext.SaveChangesAsync();
return newPerson.ToResponse();
}