Get Master Details From a Database with Datareader

  • Thread starter Thread starter Augusto C
  • Start date Start date
A

Augusto C

Guest
Greetings to the community, I have a question, I have 3 tables (Project, Phases and Comments), a master and two details

the relationship is one to many between Project and Phases, and one to one between Project and Comments

The problem is that I don't know how to return the data using ADO.NET, this is what I have so far, the classes

public class BEProyecto
{
public BEProyecto(){
this.Fase = new List<BEFaseProyecto>();
this.Comentario = new List<BEComentario>();}
public int IDProyecto { get; set; }
public string Nombre { get; set; }
public string Descripcion { get; set; }
public List<BEFaseProyecto> Fase { get; set; }
public List<BEComentario> Comentario { get; set; }
}

public class BEFaseProyecto
{
public string FechaInicio { get; set; }
public string FechaFin { get; set; }
public decimal? Monto { get; set; }
}

public class BEComentario
{
public int IDComentario { get; set; }
public string Descripcion { get; set; }
}


This is how I return the data I return it in a query

1482172.png

And this is my code so far

public Lista<EntidadProyecto> GetProyectoObtener(Int32 IDProyecto){

List<EntidadProyecto> lstLista = new List<EntidadProyecto>();

try
{
OpenConnection();
using (SqlCommand myComm = GetConnection().CreateCommand())
{
myComm.CommandType = CommandType.StoredProcedure;
myComm.CommandText = "MiProcedimiento";
myComm.Parameters.AddWithValue("@IDProyecto", IDProyecto);

SqlDataReader myReader = myComm.ExecuteReader();
while (myReader.HasRows)
{
EProyecto eProyecto = new EProyecto();
eProyecto.IDProyecto = Convert.ToInt32(myReader["IDProyecto"]);
eProyecto.Nombre = Convert.ToString(myReader["Nombre"]);
eProyecto.Descripcion = Convert.ToString(myReader["Descripcion"]);


EFaseProyecto fase = new EFaseProyecto();
fase.FechaInicio= Convert.ToString(myReader["FechaInicio"]);
fase.FechaInicio = Convert.ToString(myReader["FechaInicio"]);
fase.Monto= Convert.ToDecimal(myReader["Monto"]);

eProyecto.Fase.Add(fase);
........

Continue reading...
 
Back
Top