0

以下に示すように、フィドラーログがあります。そのWCF結果であり、TotalCountは-1 (<a:TotalCount> -1 </ a:TotalCount>)であると表示されます。

しかし、返されるエンティティがあります。どういう意味ですか?

注:パラメーターtake Nを渡すと、TotalCountは2と表示されます。ただし、このクエリでは、take0などの制限はありません。順序付けが存在するだけです。

<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を使用しています。DomainDataSourceのQueryNameプロパティにDomainServiceQueryメソッドを指定するだけです。また、クライアント側にソーター(実際には他のソフトウェアを改訂しています)を追加しました。ここに示すように

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

最後に、Telerikのリンクから解決策を見つけました。私が理解しているように、問題は; 私の最初のクエリでは、telerikのコンポーネントで並べ替えに問題がありました。サーバー側で実行されているクエリメソッドはIQueryableであるためです。興味深いことに、3回クエリを実行すると、実行されます:)

とにかく、サーバー側でOrderby操作を追加し、IOrderedEnumerableがすべて正常に返されるように、戻りタイプを変更しました。

于 2012-06-04T13:16:18.080 に答える