0

正如您在下面看到的,有一个提琴手日志。它是一个 WCF 结果并说 TotalCount 是 -1 (< a: TotalCount > -1 < /a: TotalCount > )

但是有实体返回。这是什么意思?

注意:当我传递参数 take N 时,它说 TotalCount 是 2。但是对于这个查询没有限制取 0 或其他东西。只是存在一个排序。

<GetAppointmentsBySearchResponse xmlns="http://tempuri.org/">
<GetAppointmentsBySearchResult xmlns:a="DomainServices" xmlns:i="http://www.w3.or /2001/XMLSchema-instance">
<a:TotalCount>-1</a:TotalCount>
<a:RootResults xmlns:b="http://schemas.datacontract.org/2004/07/AHBSBus.Web.DB">
 <b:APT_APPOINTMENT>
<b:APPOINTMENTDATE>2012-05-31T09:30:00</b:APPOINTMENTDATE>
<b:APPOINTMENTENDDATE>2012-05-31T09:45:00</b:APPOINTMENTENDDATE>
<b:APPOINTMENTSTATUS>46814e8a-30ad-4648-a98d-d0134f8eccc4</b:APPOINTMENTSTATUS>
<b:APPOINTMENTTYPE>e4b7c7c5-83f5-4f0c-8e47-5f04d41d9f68</b:APPOINTMENTTYPE>
<b:ARRIVALDATE i:nil="true">
</b:ARRIVALDATE>
<b:ARRIVALNO i:nil="true">
</b:ARRIVALNO>
<b:ARRIVALSTATUS i:nil="true">
</b:ARRIVALSTATUS>
<b:DEPARTUREDATE i:nil="true">
</b:DEPARTUREDATE>
<b:DOCTORID>20376fd9-2411-46c2-8463-72fb995de038</b:DOCTORID>
<b:ENTRYDATE>2012-05-31T13:52:46.617</b:ENTRYDATE>
<b:ENTRYUSERID i:nil="true">
</b:ENTRYUSERID>
<b:ID>0533cb98-618b-4af0-9227-fd14920501e0</b:ID>
<b:ISACTIVE>true</b:ISACTIVE>
<b:ISCLOSED>false</b:ISCLOSED>
<b:NOTE>ok</b:NOTE>
<b:PATIENTCASETYPE>c088796a-6981-4639-9ba9-776eb1906a8f</b:PATIENTCASETYPE>
<b:PATIENTID>c4ae821d-8c26-4002-b5bc-c3fce3d29b6c</b:PATIENTID>
<b:SOCIALSECURITYNO i:nil="true">
</b:SOCIALSECURITYNO>
<b:SUBJECT>NURŞEN GENÇ</b:SUBJECT>
<b:USERID i:nil="true">
</b:USERID>
</b:APT_APPOINTMENT>
<b:APT_APPOINTMENT>
<b:APPOINTMENTDATE>2012-05-31T12:45:00</b:APPOINTMENTDATE>
<b:APPOINTMENTENDDATE>2012-05-31T16:30:00</b:APPOINTMENTENDDATE>
<b:APPOINTMENTSTATUS>46814e8a-30ad-4648-a98d-d0134f8eccc4</b:APPOINTMENTSTATUS>
<b:APPOINTMENTTYPE>ce8482b1-2cc3-41e5-9d54-9f989d50ad66</b:APPOINTMENTTYPE>
<b:ARRIVALDATE i:nil="true">
</b:ARRIVALDATE>
<b:ARRIVALNO i:nil="true">
</b:ARRIVALNO>
<b:ARRIVALSTATUS i:nil="true">
</b:ARRIVALSTATUS>
<b:DEPARTUREDATE i:nil="true">
</b:DEPARTUREDATE>
<b:DOCTORID>20376fd9-2411-46c2-8463-72fb995de038</b:DOCTORID>
<b:ENTRYDATE>2012-05-31T13:56:50.773</b:ENTRYDATE>
<b:ENTRYUSERID i:nil="true">
</b:ENTRYUSERID>
<b:ID>bb174e0c-4ebb-4d46-9245-dd88b59d89d1</b:ID>
<b:ISACTIVE>true</b:ISACTIVE>
<b:ISCLOSED>false</b:ISCLOSED>
<b:NOTE>akşama kadar çok uğraştırdın!</b:NOTE>
<b:PATIENTCASETYPE>c088796a-6981-4639-9ba9-776eb1906a8f</b:PATIENTCASETYPE>
<b:PATIENTID>1c108f70-f86b-4a1b-b5bd-2e81ded090bd</b:PATIENTID>
<b:SOCIALSECURITYNO i:nil="true">
</b:SOCIALSECURITYNO>
<b:SUBJECT>Perveen Mahmoodi</b:SUBJECT>
<b:USERID i:nil="true">
</b:USERID>

4

2 回答 2

1

尝试将IncludeTotalCount查询的属性显式设置为true(在加载之前):

var query = context.GetAppointmentsBySearchQuery();
query.IncludeTotalCount = true;
context.Load(query)
于 2012-05-31T22:28:05.363 回答
0

我点击此链接http://www.telerik.com/community/forums/silverlight/data-pager/raddatapager-displays-just-one-page.aspx并找到了解决方案。

我使用 DomainDataSource 和 RadDataPager。我只是将 DomainService Query Method 赋予 DomainDataSource 的 QueryName 属性。我还在客户端添加了一个排序器(实际上我正在修改 s.one else 的软件)。如此处所示

domainDataSource.SortDescriptors.Add
(new SortDescriptor() { PropertyPath = "APPOINTMENTDATE", 
Direction = System.ComponentModel.ListSortDirection.Ascending });

最后我从 Telerik 的链接中找到了解决方案。据我了解,问题是;在我的第一个查询 Telerik 的组件中,排序有问题。因为我在服务器端运行的查询方法是一个 IQueryable。有趣的是,如果我查询 3 次,它会运行 :)

无论如何,我在服务器端添加了 Orderby 操作并将返回类型更改为 IOrderedEnumerable 一切都返回正常。

于 2012-06-04T13:16:18.080 回答