0

I ont une requête Linq sur le côté serveur d'un projet Ria Silverlight 4 qui renvoie un certain nombre d'éléments distincts en fonction d'une période de temps (mois).données Ria corruption du serveur au client

Le problème que je reçois est lorsque le rappel du client déclenche les données ont été corrompues et tous les articles retournés à partir du serveur sont des doublons du dernier élément de la collection.

Appel Server

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 

Callback client

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 

Je confirme que la requête Linq est correcte à partir du serveur et LINQPad.

Des idées?

EDIT: Fiddler RAW repsonse

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��@���� 

Phil

Répondre

0

Le problème était jusqu'à la classe POCO annotation clé étant sur un champ non unique. Je l'ai changé autour de la propriété Month unique et il fonctionne maintenant comme prévu.

erreur ... Aussi étrange que

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

Tout d'abord, utilisez Fiddler pour vérifier wether réponse du serveur brut est correct Prolongations.

+0

On dirait qu'il ya une différence de Fiddler –

Questions connexes