2009-10-01 47 views
0

我有一个包含两个表的ProductLine和Supplier的数据库。 ProductLine 包含外键SupplierId,而供应商具有“名称”字段。在GridView上显示多对一实体的属性

表PRODUCTLINE:ProductLineId(PK),名称,供应商ID(FK)等

表供应商:供应商ID(PK),名称等

在我的计划,我有两个班,PRODUCTLINE和供应商其中ProductLine具有成员“Supplier SupplierId”。该成员被映射以下方式ProductLine.hbm.xml (我的NHibernate映射为PRODUCTLINE):

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

在我的网站,我想一个GridView来显示所有代理产品和 的名字相关供应商。基于这个原因,我建立了一个GetAllProductLines()方法,并将其绑定到gridview。 Furtherly,我附加了以下数据域到GridView:

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

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

在GridView显示:

名称:XY(正确)

供应商:[命名空间] .Supplier

What's错误?我怎样才能得到供应商的名字? 如果这还不够,请询问更详细的信息。

MG,J.卡尔

回答

0

好吧,我可以通过一个很好的例子的帮助下解决问题。

在供应商类,我需要重写ToString() - 属性如下 方式:

public override string ToString() 
    { 
     return this.Name; 
    } 

这样,GetAllProductLines法递给我在供应商的名称。

0

如果您正在使用

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

你想拥有供应商编号 - 而不是一个实体。如果你有一个实体比你需要使用

Supplier.SupplierId 

+0

你好, 你可以进入更多的细节?我应该如何更改代码? MG – AGuyCalledGerald 2009-10-02 09:57:31

相关问题