2010-07-09 1 views
3

해결 방법을 찾았지만 이번 주 초에 FluorineFx으로 작업하는 데 어려움을 겪었습니다. 여기서 Linq-to-SQL으로 생성 된 객체를 Flash로 보내고 싶었습니다 .불소 TransientAttribute 및 Linq-to-SQL

[Association(Name="User_UserEntry", Storage="_UserEntries", 
      ThisKey="UserID", OtherKey="UserID")] 
public EntitySet<UserEntry> UserEntries { ... } 

을하지만 플렉스 던지고,이 유형을 reinflating 처리 할 수있다 : 나는 통해 재산을 보낼 필요가 없었다 이제

ArgumentError: Error #2173: Unable to read object in stream. The class flex.messaging.io.ArrayCollection does not implement flash.utils.IExternalizable but is aliased to an externalizable class.

이 객체는 플래시가 필요하지 않은 속성을 포함 와이어, 내가 먼저 System.ComponentModel.DataAnnotations에서 MetadataTypeAttribute를 사용하는 속성을 추가, Marc Gravellissue 456624에서 제시하는 단계를 시도 (issue 393687JasonW의 코멘트에서 발견 :

[MetadataType(typeof(UserMetadata)] 
public partial class User { } 

internal class UserMetadata 
{ 
    [FluorineFx.Transient] 
    public EntitySet<UserEntry> UserEntries { get; set; } 
} 

불행히도 FluorineFx는 아직 메타 데이터 속성을 지원하지 않는 것 같습니다 (매우 놀랍지는 않습니다.

필자가해야 할 일은, Flash가 신경 써야 할 모든 속성과 그렇지 않은 속성이 모두 포함 된 전용 DTO를 만드는 것입니다. 가장 우아한 솔루션은 아닙니다.

다른 사람들이이 문제를 겪고 더 나은 해결책을 찾았습니까?

답변

1

Transient 특성을 사용하면 정상적으로 작동합니다. SVN의 최신 FluorineFx 릴리스로 작업합니다.