C# 如何跟踪EF Core中的身份变化?

C# 如何跟踪EF Core中的身份变化?,c#,entity-framework-core,C#,Entity Framework Core,我的应用程序中有一个服务,它创建一个用户,并将其保存到数据库中。以下是我的服务方法: public async Task<UserDTO> CreateUserAsync(User newUser) { var result = (UserDTO)await _userRepository.CreateUserAsync(newUser); if (result != null) { awa

我的应用程序中有一个服务,它创建一个用户,并将其保存到数据库中。以下是我的服务方法:

    public async Task<UserDTO> CreateUserAsync(User newUser)
    {

        var result = (UserDTO)await _userRepository.CreateUserAsync(newUser);

        if (result != null)
        {

            await _userRepository.SaveChangesAsync();

        }

        return result;

    }

问题是,当用户通过服务添加时,用户ID还不知道。它的默认值为0,然后ef core将其保存到数据库中,以查找正确的用户ID。但是我的方法返回的值没有更新用户ID-它仍然是0,我想返回更新的值。如何以适当的方式实现这一点

newUser
将从数据库读取一个Id


您的代码正在从
User
转换为
UserDTO
,这不太可能起作用

谢谢,保存更改后将用户强制转换为UserDTO,解决了问题
public async Task<User> CreateUserAsync(User newUser) => (await _dbContext.AddAsync(newUser)).Entity;
public class User
{

    public int UserId { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string Name { get; set; }
    public string Surname { get; set; }

}