Linq to SQL дочерние свойства объекта в GridView - PullRequest
1 голос
/ 26 января 2009

Например, в моем WCF, если у меня есть таблица клиентов и таблица заказов, которые связаны друг с другом по идентификатору клиента.

Я хочу получить количество заказов для каждого клиента.

В обычном коде VB я могу сделать это:

Dim CustID As Integer = 1234
Dim cust As New MyService.Customer()
cust = cust.GetCustomer(CustID)
Response.Write(cust.Orders.Count)

Приведенный выше код работает нормально, но если я хочу получить к нему доступ из GridView, он, похоже, не реагирует одинаково (albiet, из другого метода, но я применяю одинаковые тарифы для каждого метода, хотя )

<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 Ответ

3 голосов
/ 26 января 2009

Вы можете попробовать добавить частичный метод в класс Customer с именем OrderCount и ссылаться на него в вашем 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; }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...