简体   繁体   中英

Convert List(object) to Object

In the afternoon, I'm starting my webapi studies with .net core. However, it is a project without orm (direct in the Database).

I use lists to receive data from database (for example):

public List<Numerador_mdfe> Numerador_Get_id()
    {
        List<DbParameter> parameterList = new List<DbParameter>();
        List<Numerador_mdfe> Numerador_Lista = new List<Numerador_mdfe>();
        Numerador_mdfe Numerador = null;

        string sql = "SELECT top 1 Numerador001,Numerador002,acesso FROM Numerador_mdfe order by Numerador001";
        using (DbDataReader dataReader = base.GetDataReader(sql,
                                                            parameterList,
                                                            CommandType.Text))
        {
            if (dataReader != null && dataReader.HasRows)
            {
                while (dataReader.Read())
                {
                    Numerador = new Numerador_mdfe();
                    Numerador.Numerador001 = (string)dataReader["Numerador001"].ToString().Trim();
                    Numerador.Numerador002 = Convert.ToInt32(dataReader["Numerador002"]);
                    Numerador.acesso = Convert.ToString(dataReader["acesso"].ToString().Trim());
                    Numerador_Lista.Add(Numerador);
                }
            }
        }
        return Numerador_Lista;
    }

However, in a routine I look for the list:

DAO_Bases Base = new DAO_Bases();
List<Model.Numerador_mdfe> MDFE_NG;
MDFE_NG = Base.Numerador_Get_id();

Is there a simple way to transform the list of type Numerator_mdfe into an Numerator_mdfe object?

Or just using for each and adding? Or does anyone have a better approach in this case?

Edit: In these cases, it will always return only one record.

Return only the selected object and not the object list:

public Numerador_mdfe Numerador_Get_id()
{
        List<DbParameter> parameterList = new List<DbParameter>();
        Numerador_mdfe Numerador =null;

        string sql = "SELECT top 1 Numerador001,Numerador002,acesso FROM Numerador_mdfe order by Numerador001";
        using (DbDataReader dataReader = base.GetDataReader(sql,
                                                            parameterList,
                                                            CommandType.Text))
        {
            if (dataReader != null && dataReader.HasRows)
            {
                if (dataReader.Read())
                {
                    Numerador = new Numerador_mdfe();
                    Numerador.Numerador001 = dataReader["Numerador001"]?.ToString().Trim();
                    Numerador.Numerador002 = Convert.ToInt32(dataReader["Numerador002"]);
                    Numerador.acesso = dataReader["acesso"]?.ToString().Trim();
                    Numerador_Lista.Add(Numerador);
                }
            }
        }
    return Numerador ;
}

Ignored other apparent code problems

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM