나는 모든 예를 들어이 CLR의, TableEntity에서 상속 사용자 정의 CLR 개체가있는 경우 :직렬화 사용자 정의 CLR 개체
public class Person : TableEntity
{
public string FirstName { get; set; }
public string Prefix { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
public Address Address { get; set; }
public List<string> AList { get; set; }
public List<Urls> ListUrls { get; set; }
}
public class Address : TableEntity
{
public string Street { get; set; }
public string Zipcode { get; set; }
public string HouseNumber { get; set; }
public string City { get; set; }
}
public class Urls : TableEntity
{
public Uri Real { get; set; }
public Uri Fake { get; set; }
}
참고 : 나는 속성과 클래스가있는 것을 알고를 Protobuf-net
의 속성으로 장식됩니다. 그러나 그것을 간결하게하기 위해 나는 그들을 지금 당장 나가게했다.
Protobuf-net
을 사용하여 이것을 byte[]
으로 변환하고이를 Windows Azure 저장소에 직렬화하고이 CLR 개체로 다시 역 직렬화합니다. 이것을 어떻게 할 수 있습니까?
나는 this 튜토리얼을 따라 갔지만, byte[]
으로 막혔습니다. 나는 테이블에 byte[]
을 쓰는 법을 모른다.
질문이 명확하지 않은 경우 더 명확히하려고 노력하겠습니다.
멋지다! 당신은 제네릭을 사용할 수도 있다고 말 했어요. 그게 무슨 소리 니? is not public 목록 AList {get; 세트; }'직렬화를 지원합니까? –
Quoter
@Quoter 공용 클래스 EntityBlob-of-T : TableEntity {public byte [] Data {get; set;}} –
해결 방법을 시도하고 To.Array() 메서드는 항상 0 바이트를 반환합니다. Azure 테이블을 볼 때 데이터 바이트 대신에 전체 개체가 저장되었습니다. 어떤 생각이 잘못 될지 모릅니다. – Quoter