例如,在我的WCF中,如果我有一个Customer表和一个Order表,它们在Customer ID上彼此关联。
我想获得每位客户的订单数量。
在常规VB代码中,我可以这样做:
Dim CustID As Integer = 1234
Dim cust As New MyService.Customer()
cust = cust.GetCustomer(CustID)
Response.Write(cust.Orders.Count)
上面的代码工作正常,但如果我想从GridView中访问它,它似乎没有相同的反应(albiet,来自不同的方法,但我将相同的PRicipals应用于每个方法虽然)
<asp:ObjectDataSource ID="odsCustomers" runat="server" SelectMethod="GetCustomers" TypeName="MyService.Customer" />
<asp:GridView ...>
...
<Columns>
<asp:BoundField DataField="Orders.Count" HeaderText="Order Count" />
</Columns>
...
</asp:GridView>
那我怎么能这样做呢?
答案 0 :(得分:3)
您可以尝试将一个部分方法添加到名为OrderCount的Customer类中,并在BoundField中引用该方法。右键单击dbml文件,然后转到View Code,然后添加。
VB
Partial Public Class Customer
Public ReadOnly Property OrderCount As Integer
Get
Return Me.Orders.Count
End Get
End Property
End Class
C#
public partial class Customer
{
public int OrderCount {
get { return this.Orders.Count; }
}
}