¿Cómo hacer un Dataset NHibernate c#?

Estoy haciendo una aplicación de Usuarios con c# en visual studio.
El acceso a datos los tengo que hacer según elijas la opción, que puede ser: ADO, enterprise library o nhibernate.
Tengo una función para obtener un listado de usuarios que devuelve un dataset.
En ADO y enterprise library no tuve problemas para realizarlas, que son las siguientes:

public override DataSet ObtenerListadoUsuarios()
{
DataSet resultado = new DataSet();
string comando = "SELECT * FROM Usuarios";
SqlConnection cnBD;
SqlDataAdapter adaptadorSQL;
try
{
cnBD = new SqlConnection(conexionBD);
adaptadorSQL = new SqlDataAdapter(comando, cnBD);
adaptadorSQL.Fill(resultado, "Usuarios");
}
catch (SqlException ex)
{
resultado = null;
throw ex;
}
return resultado;
}

public override DataSet ObtenerListadoUsuarios()
{
DataSet resultado = new DataSet();
try
{
string comando = "SELECT * FROM Usuarios";
Database db = DatabaseFactory.CreateDatabase();
DataSet ds = db.ExecuteDataSet(CommandType.Text, comando);
resultado = ds;
}
catch (SqlException ex)
{
resultado = null;
throw ex;
}
return resultado;
}

Pero no tengo ni idea como hacer el dataset en Nhibernate.

1 Respuesta

Respuesta
1

La verdad que yo tampoco, pero encontré esto, espero te sirva.

http://www.videosni.com/video-tutoriales-de-espanol-tutorial-como-llenar-un-datatable-icefaces-hibernate-mysql-parte12/

Al final lo conseguí, gracias de todos modos.

Pongo el código:

public override DataSet ObtenerListadoUsuarios()
{
DataSet resultado = new DataSet();
try
{
session = factory.OpenSession();
IList userList = session.CreateCriteria(typeof(DTOUsuario)).List();
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("NIF", typeof(string));
dt.Columns.Add("Clave", typeof(string));
dt.Columns.Add("Rol", typeof(int));
dt.Columns.Add("Nombre", typeof(string));
dt.Columns.Add("Telefono", typeof(string));
dt.Columns.Add("Email", typeof(string));
dt.Columns.Add("Direccion", typeof(string));
dt.Columns.Add("Ciudad", typeof(string));
dt.Columns.Add("Provincia", typeof(string));
dt.Columns.Add("C.P.", typeof(decimal));
dt.Columns.Add("Saldo", typeof(decimal));
foreach (DTOUsuario usu in userList)
{
DataRow row = dt.NewRow();
row["ID"] = usu.Id;
row["NIF"] = usu.Nif;
row["Clave"] = usu.Clave;
row["Rol"] = usu.Rol;
row["Nombre"] = usu.Nombre;
row["Telefono"] = usu.Telefono;
row["Email"] = usu.Email;
row["Direccion"] = usu.Telefono;
row["Ciudad"] = usu.Ciudad;
row["Provincia"] = usu.Provincia;
row["C.P."] = usu.Cp;
row["Saldo"] = usu.Saldo;
dt.Rows.Add(row);
}
resultado.Tables.Add(dt);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (session != null)
{
//Cerrar la sesión
session.Close();
}
session = null;
}
return resultado;
}

Si te fui de ayuda, cierra y valora la pregunta, así dejarás espacio (cupo) para otras personas que desean preguntar.

También ten en cuenta para un futuro poner el Código así:

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas