Nhibernate 在gridview上显示多对一实体的属性

Nhibernate 在gridview上显示多对一实体的属性,nhibernate,gridview,Nhibernate,Gridview,我有一个包含两个表的数据库,ProductLine和Supplier。产品线 包含外键SupplierId,而Supplier有一个字段“Name” 表ProductLine:ProductLineId(主键)、名称、供应商ID(FK)等 表供应商:供应商ID(主键)、名称等 在我的程序中,我有两个类,ProductLine和Supplier,其中ProductLine的成员是“Supplier-SupplierId”。此成员在ProductLine.hbm.xml中的映射方式如下 (我的产品线

我有一个包含两个表的数据库,ProductLine和Supplier。产品线 包含外键SupplierId,而Supplier有一个字段“Name”

表ProductLine:ProductLineId(主键)、名称、供应商ID(FK)等

表供应商:供应商ID(主键)、名称等

在我的程序中,我有两个类,ProductLine和Supplier,其中ProductLine的成员是“Supplier-SupplierId”。此成员在ProductLine.hbm.xml中的映射方式如下 (我的产品线NHibernate映射):


在我的网站中,我需要一个gridview来显示所有产品线的名称和 关联供应商。因此,我构建了一个方法GetAllProductLines()并 将其绑定到gridview。此外,我将以下数据字段附加到gridview:

<asp:BoundField DataField="Name" HeaderText="Name" />

<asp:BoundField DataField="SupplierId" HeaderText="Supplier" />

gridview显示:

名称:xy(正确)

供应商:[名称空间]。供应商

怎么了?我怎样才能知道供应商的名字? 如果这还不够,请询问更多详细信息

MG,J.Carl

如果您正在使用

<many-to-one name="SupplierId" class="Supplier"/>

field

好的,我可以通过一个好的例子来解决这个问题

在Supplier类中,我需要重写ToString()-属性 方式:


这样,GetAllProductLines方法就把供应商的名称交给了我。

您好,您能详细介绍一下吗?我应该如何更改代码?镁
<many-to-one name="SupplierId" class="Supplier"/>
Supplier.SupplierId
public override string ToString()
    {
        return this.Name;
    }