sábado, 29 de noviembre de 2008
GridView no carga los datos desde un IList
Estoy trantando de mostrar un resultado en un GridView obtenidos con Nhibernate desde una Base SQL 2005 Express y solo me aparecen las columnas como: Lenght, LongLength, Rank, IsReadOnly, IsFixedSize, IsSynchronized. Cuando hago la consulta a una sola tabla me funciona pero cuando trato de hacer un Inner Join o consultar las dos tablas me muestra las columnas antes mencionadas.
La consulta que hago es la siguiente:
public IList getContactos()
{
ISession session =
NHibernateSessionFactory.GetCurrentSession();
IQuery query = session.CreateQuery("from Contacto as c , Persona as p where c.Id_Per=p.Id_Per");
return query.List();
}
Para luego mostrar los datos en el GridView de la siguiente manera:
private void setContactos() {
Contacto cCon = new Contacto();
gdvContactos.DataSource=cCon.getContactos();
gdvContactos.DataBind();
}
Los mapeos son:
Contacto
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="crmos.Bo.Contacto, crmos.Bo" table="Contacto">
<id name="Id_Con" type="Int32" unsaved-value="null">
<column name="Id_Con" length="4" sql-type="int" not-null="true" unique="true" index="PK_Contacto"/>
<generator class="native" />
</id>
<property name="Id_Per" type="Int32">
<column name="Id_Per" length="4" sql-type="int" not-null="false"/>
</property>
<property name="Id_Cti" type="Int32">
<column name="Id_Cti" length="4" sql-type="int" not-null="false"/>
</property>
<property name="Fecha_Con" type="DateTime" access="property" >
<column name="Fecha_Con" sql-type="datetime" />
</property>
<property name="Observacion_Con" type="String" access="property">
<column name="Observacion_Con" length="16" sql-type="text" not-null="false"/>
</property>
<property name="Estado_Est" type="Int32" access="property">
<column name="Estado_Est" length="4" sql-type="int" not-null="false"/>
</property>
<property name="Id_Ven" type="Int32" access="property">
<column name="Id_Ven" length="4" sql-type="int" not-null="false"/>
</property>
<many-to-one name="Persona" class="crmos.Bo.Persona, crmos.Bo">
<column name="Id_Per" length="4" sql-type="int" not-null="false"/>
</many-to-one>
<bag name="Contactos" inverse="true" lazy="true" cascade="all-delete-orphan">
<key column="Id_Per"/>
<one-to-many class="crmos.Bo.Persona, crmos.Bo"/>
</bag>
</class>
</hibernate-mapping>
Persona
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="crmos.Bo.Persona, crmos.Bo" table="Persona">
<id name="Id_Per" type="Int32" unsaved-value="null">
<column name="Id_Per" length="4" sql-type="int" not-null="true" unique="true" index="PK_Persona"/>
<generator class="native" />
</id>
<property name="Nombres_Per" type="String">
<column name="Nombres_Per" length="50" sql-type="varchar" not-null="false"/>
</property>
<property name="ApellidoPaterno_Per" type="String">
<column name="ApellidoPaterno_Per" length="15" sql-type="varchar" not-null="false"/>
</property>
<property name="ApellidoMaterno_Per" type="String">
<column name="ApellidoMaterno_Per" length="15" sql-type="varchar" not-null="false"/>
</property>
<property name="Email_Per" type="String">
<column name="Email_Per" length="100" sql-type="varchar" not-null="false"/>
</property>
<bag name="Contactos" inverse="true" lazy="true" cascade="all-delete-orphan">
<key column="Id_Per"/>
<one-to-many class="crmos.Bo.Contacto, crmos.Bo"/>
</bag>
</class>
</hibernate-mapping>
Ya me estoy dando por vencido, asi que solicitaré ayuda en los foros de NHibernate y postearé la solución. O si alguien ya ha pasado por esta ....
El código completo del proyecto se puede descargar desde:
http://code.google.com/p/crmos/downloads/list
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario