public async Task <IdentityResult> CreateAsync(User user, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); using (var connection = new System.Data.SqlClient.SqlConnection(Helper.CnnValue("FeedMeDB"))) { await connection.OpenAsync(cancellationToken); user.UserID = await connection.QuerySingleAsync <int>($@"INSERT INTO [Users] ([Username], [NormalizedUserName], [PasswordHash]) VALUES (@{nameof(User.Username)}, @{nameof(User.NormalizedUserName)}, @{nameof(User.PasswordHash)}); SELECT CAST(SCOPE_IDENTITY() as int)", user); } return(IdentityResult.Success); }
//public static TResult QuerySingle<TResult>(string queryName, DbQueryOption queryOption) //{ // using (var sqlConnection = new SqlConnection(queryOption.ConnectionID)) { // try { // if (sqlConnection.State != ConnectionState.Open) { // sqlConnection.Open(); // } // return (TResult)sqlConnection.QuerySingle<TResult>(queryName, queryOption.ParameterModel, commandType: CommandType.StoredProcedure); // } // catch (Exception) { // throw; // } // //finally { // // sqlConnection.Close(); // //} // } //} public static async Task <TResult> QuerySingleAsync <TResult>(string queryName, DbQueryOption queryOption) { using (var sqlConnection = new System.Data.SqlClient.SqlConnection(queryOption.ConnectionID)) { try { if (sqlConnection.State != ConnectionState.Open) { await sqlConnection.OpenAsync(); } return(await(Task <TResult>) sqlConnection.QuerySingleAsync <TResult>(queryName, queryOption.ParameterModel, commandType: CommandType.StoredProcedure)); } catch (Exception) { throw; } //finally { // sqlConnection.Close(); //} } }