我正在编写自己的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;