繁体   English   中英

如何跟踪 EF Core 中的身份更改?

[英]How to track identity changes in EF Core?

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

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

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

        if (result != null)
        {

            await _userRepository.SaveChangesAsync();

        }

        return result;

    }

还有一个来自 UserRepository 的方法:

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; }

}

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

newUser将从数据库中读取一个 Id。

您的代码正在从UserUserDTO ,这不太可能起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM