해결 방법을 찾았지만 이번 주 초에 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 Gravell이 issue 456624에서 제시하는 단계를 시도 (issue 393687에 JasonW의 코멘트에서 발견 :
[MetadataType(typeof(UserMetadata)]
public partial class User { }
internal class UserMetadata
{
[FluorineFx.Transient]
public EntitySet<UserEntry> UserEntries { get; set; }
}
불행히도 FluorineFx는 아직 메타 데이터 속성을 지원하지 않는 것 같습니다 (매우 놀랍지는 않습니다.
필자가해야 할 일은, Flash가 신경 써야 할 모든 속성과 그렇지 않은 속성이 모두 포함 된 전용 DTO를 만드는 것입니다. 가장 우아한 솔루션은 아닙니다.
다른 사람들이이 문제를 겪고 더 나은 해결책을 찾았습니까?