Re: npgsql

"Juan C. Olivares" <[email protected]> Wed, 29 Jun 2011 11:17:29 -0400
Newsgroups gmane.comp.gnome.mono.hispano
Message-ID <[email protected]>
Estimado Ricardo:

En primer lugar, sugiero separar la lógica de acceso a datos de la de
presentación (XML).

Tal vez, deberías retornar objetos y luego usar un serializador para
entregar XML al final del proceso.

En el caso de este método, puedes usar dblinq para obtener objetos
directamente o mapearlos. Por ejemplo, si haces el mapeo desde el data
reader, sería algo así:

var list = new List <TipoObjeto> ();
using (var connection = new NpgsqlConnection (...))
using (var command = new NpgsqlCommand (...., connection))
using (var reader = command.ExecuteReader ())
  while (reader.Read ())
     list.Add (new TipoObjecto { Propiedad1 = reader.GetString (0),
Propiedad2 = reader.GetInt32 (1) });
return list;

2011/6/29 Ricardo Javier Aranibar León <[email protected]>

> Hola Lista
>
> Mis consultas son 2:
> 1.- Como puedo realizar un WCF o webservice con npgsql y mono, que me
> retorne los datos en xml o json.
>
> 2.- Mi consulta a la base de datos antes la asía que me retorne un dataset
> ya no quiero mas bien quiero que me retorne un xml y este resultado cargarlo
> a una lista.
> estoy probando y tengo este código, funciona me carga el xml dentro el
> xmldocument me parece q no esta bien por el while, tienen alguna forma mejor
> de hacerlo???
> en vez que me retorne a un xmldocument como podría hacer para q me retorne
> a una List por ejemplo a List <Traspasos> a la espera de su colaboracion
> saludos Ricardo
>
> public System.Xml.XmlDocument RetornarDatosXml() {
>             System.Xml.XmlDocument xd = new System.Xml.XmlDocument();
>             try  {
>                 if (this.AbrirConexion()) {
>                     this.mPgComando = new NpgsqlCommand("select
> query_to_xml('select * from traspasos',true,false,'')", this.mPgCon);
>                     Npgsql.NpgsqlDataReader  dr =
> mPgComando.ExecuteReader();
>                     string p = "";
>                     while (dr.Read()) {
>                         for (int i = 0; i < dr.FieldCount; i++) {
>                             p = p + dr[i].ToString();
>                         }
>                     }
>                     xd.LoadXml(p);
>                     return xd;
>                 }
>                 else
>                 {
>                     throw new Exception("No existe conexion a la Base de
> Datos.");
>                 }
>             }
>             catch (Exception ex)
>             {
>                 throw new Exception(ex.Message);
>             }
>             finally
>             {
>                 this.CerrarConexion();
>             }
>
>         }
> _______________________________________________
> Mono-hispano mailing list
> [email protected]
> https://listas.hispalinux.es/mailman/listinfo/mono-hispano
>



-- 
Atte,
Juan Cristóbal Olivares

*La disposición a admirar, casi a adorar, a los ricos y poderosos y a ....
descuidar a las personas más pobres … es la mayor y más universal causa de
corrupción de nuestros sentimientos morales (**Adam Smith)*

_______________________________________________
Mono-hispano mailing list
[email protected]
https://listas.hispalinux.es/mailman/listinfo/mono-hispano