Sto scrivendo la mia implementazione di IUserStore e IUserPasswordStore e devo preparare il metodo asincrono CreateAsync
che restituirà IdentityResult
. Finora ho questo:
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}." });
}
Non sono davvero sicuro di cosa dovrei mettere dentro if
. Posso usare solo metodi asincroni, quindi non ho davvero alcun risultato quando eseguo questa funzione. Qualche consiglio? Lo apprezzerei molto.
Di solito userei Any()
ma questa implementazione non mi consente. Se hai bisogno di più codice, chiedi solo nei commenti, ti fornirò, tuttavia penso che questo sia abbastanza informazioni per la domanda.
SaveChanges()
e await SaveChangesAsync();
restituisce un int che è il numero di record interessati se l'operazione di salvataggio è stata eseguita correttamente. È possibile controllare il valore restituito e restituire il risultato pertinente.
var success = await context.SaveChangesAsync() > 0;
return success
? IdentityResult.Success
: IdentityResult.Failed;