Linq到GridView中的SQL对象子属性

时间:2009-01-26 20:04:20

标签: .net sql linq wcf linq-to-sql

例如,在我的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>

那我怎么能这样做呢?

1 个答案:

答案 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; }
    }
}