Skip to content

NullReferenceException may be thrown #86

@murashik

Description

@murashik

if _unitOfWork is null then here can crash: transaction: _unitOfWork.Transaction. I'm right?

//namespace Identity.Dapper.Repositories
var selectFunction = new Func<DbConnection, Task<TUser>>(async x =>
                {
                    var dynamicParameters = new DynamicParameters();
                    dynamicParameters.Add("Email", email);

                    var query = _queryFactory.GetQuery<SelectUserByEmailQuery>();

                    var userDictionary = new Dictionary<TKey, TUser>();
                    var result = await x.QueryAsync<TUser, TUserRole, TUser>(sql: query,
                                                                             param: dynamicParameters,
                                                                             transaction: _unitOfWork.Transaction,
                                                                             map: UserRoleMapping(userDictionary),
                                                                             splitOn: "UserId");

                    if (userDictionary.Count > 0)
                        return userDictionary.FirstOrDefault().Value;

                    return result.FirstOrDefault();
                });

                DbConnection conn = null;
                if (_unitOfWork?.Connection == null)
                {
                    using (conn = _connectionProvider.Create())
                    {
                        await conn.OpenAsync();

                        return await selectFunction(conn);
                    }
                }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions