如何检查是否在异步 C# MVC 核心方法中添加了实体项



我正在编写自己的IUserStore和IUserPasswordStore实现,我需要准备异步方法CreateAsync它将返回IdentityResult。到目前为止,我有这个:

    public async Task<IdentityResult> CreateAsync(User user)
    {
        Users.Add(user);
        //await Users.AddAsync(user);
        SaveChanges();
        //await SaveChangesAsync(user);
        //alternative version is commented
        if (<What to put there>)
        {
            return IdentityResult.Success;
        }
        return IdentityResult.Failed(new IdentityError { Description = $"Could not insert user {user.Email}." });
    }

真的不确定我应该在if里面放什么.我只能使用异步方法,因此运行此函数时实际上没有任何结果。有什么提示吗?我真的很感激。

通常我只会使用Any()但此实现不允许我。如果您需要更多代码,只需在评论中询问,我会提供,但我认为这足以解决问题。

SaveChanges(),如果保存操作成功完成,则await SaveChangesAsync();返回一个 int,即受影响记录的数量。您可以检查返回值并返回相关结果。

var success = await context.SaveChangesAsync() > 0;
return success
    ? IdentityResult.Success
    : IdentityResult.Failed;

相关内容

  • 没有找到相关文章

最新更新