0

Silverlight 4 Riaプロジェクトのサーバー側で、期間(月)に基づいていくつかの異なる項目を返すLinqクエリがあります。サーバーからクライアントへのデータの破損が発生しました

問題は、クライアントのコールバックがデータを破損し、サーバーから返されたすべてのアイテムがコレクションの最後のアイテムと重複している場合です。

サーバーコール

Public Function GetBusinessHeadCountHistory(ByVal businessUnit As String) As IEnumerable(Of EngineeringHeadCountBusinessHistory) 
     Return From t In ObjectContext.tblTimes 
        Join h In ObjectContext.tblEngineeringDashboard_CADMachinesCounts On t.ID Equals h.TimeID 
        Join b In ObjectContext.tblEngineeringDashboard_Business On h.BusinessID Equals b.ID 
          Where b.BusinessUnit = businessUnit 
          Order By t.Period 
          Select New EngineeringHeadCountBusinessHistory With {.Month = t.Period, .BusinessUnit = b.BusinessUnit, .HeadCount = h.Count} 
End Function 

クライアントコールバック

Public Property EngineeringBusinessHistoryCount As ReadOnlyObservableCollection(Of EngineeringHeadCountBusinessHistory) 
    Get 
     Return _engineeringBusinessHistoryCount 
    End Get 
    Set(ByVal value As ReadOnlyObservableCollection(Of EngineeringHeadCountBusinessHistory)) 
     _engineeringBusinessHistoryCount = value 
     IsBusinessCountBusy = False 
     RaisePropertyChanged("ChildReportTitle") 
     RaisePropertyChanged("EngineeringBusinessHistoryCount") 
    End Set 
End Property 

私は、LINQクエリは、サーバからとLinqPadで正しいことを確認しています。

任意のアイデア?

EDIT:フィドラーRAWは

HTTP/1.1 200 OK 
Cache-Control: no-cache 
Pragma: no-cache 
Content-Length: 1738 
Content-Type: application/msbin1 
Expires: -1 
Server: Microsoft-IIS/6.0 
MicrosoftOfficeWebServer: 5.0_Pub 
X-Powered-By: ASP.NET 
X-AspNet-Version: 4.0.30319 
Date: Thu, 30 Jun 2011 11:08:47 GMT 

@#GetBusinessHeadCountHistoryResponsehttp://tempuri.org/@!GetBusinessHeadCountHistoryResult aDomainServices i)http://www.w3.org/2001/XMLSchema-instance^ 
TotalCount�^ 
RootResults b<http://schemas.datacontract.org/2004/07/EngineeringDashboard_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�_Month����~�X�_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�_Month��@���p�_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�_Month��@DE��_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�_Month���hE��_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�_Month���w`ض�_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�_Month��@E�4��_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�_Month����{���_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount� _Month���x�#��_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount� _Month��@F��_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount� _Month�����/�_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�"_Month���y�nG�_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�"_Month�����_�_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�"_Month�����]w�_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�$_Month���z���_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�$_Month��� 
����_#EngineeringHeadCountBusinessHistory_BusinessUnit� 
skid-steer_ HeadCount�$_Month��@���� 

フィル

答えて

0

POCOクラスのキー注釈が一意でないフィールドにあるという問題がありました。私は月の固有のプロパティに変更し、現在は期待通りに動作します。

フィドラーからいくつかの違いがあるように奇妙なエラーがが...

Imports System.ComponentModel.DataAnnotations 
Imports System.Runtime.Serialization 

Public Class EngineeringHeadBUHistory 

    '<Key()> 
    '<DataMember()> _ 
    'Property BusinessUnit As String 
    <Key()> 
    <DataMember()> 
    Property Month As Date 
    <DataMember()> _ 
    Property HeadCount As Integer 

End Class 
0

まず、生のサーバの応答がOT正しくない天気を確認するためにバイオリンを使用しrepsonse。

+0

が見えます –

関連する問題