2011-04-08 3 views
1

DataContractSerializer를 사용하여 사용자 데이터를 저장했지만 지금은 데이터베이스 디자인에 DataContext를 사용하고 싶습니다. 그러나 아래의 체계는 DataContext를 통해 저장할 수 없으므로 struture가 존재합니다.DataContext를 통해 사용자 정의 데이터 형식을 저장하는 방법은 무엇입니까?

class Data 
{ 
    public DataType1; 
    public DataType2; 
} 

이러한 API는 사용자 정의 된 데이터 타입을 저장 지원할 수없는 것으로 보인다. 이 시스템은 모든 위치에서 이러한 구조를 사용하기 때문에 모든 데이터 멤버를 분리하고 싶지 않습니다. 구조를 변경하면 유지 관리하기가 어려우며 DataType1에 ​​List <> 멤버가 포함됩니다. 나는이 구조를 분리해도 어떻게 해야할지 모른다. .

제게 제안 해 주실 수 있니? 감사합니다. .

답변

0

그 API가 목적없이 완전히 것 사실이라면 이러한 API는

사용자 정의 데이터 형식을 저장 지원할 수없는 것 같다.

DataContractSerializer에는 직렬화를보다 암시 적으로 만들기 위해 충돌하는 규칙이있는 것으로 보입니다. 예를 들어 public 속성과 public 기본 생성자가있는 public 형식을 DataContract 특성 또는 DataMember 특성을 가진 해당 구성원으로 장식하지 않고 serialize 할 수 있습니다.

적어도 최소한 Data은 공개 수업을해야한다고 봅니다. 대부분 다른 클래스를 검토하여 암시 적으로 직렬화 가능하거나 DataContractDataMember 속성을 사용하여 명시 적으로 표시하도록해야합니다.

0

친애하는 모든 : 하지만 지금은 DataContext를 사용자 정의 형식도 [직렬화] 표시 직렬화 할 수 DataContext

을 사용했다.

해결 방법은 이제 하나 개의 클래스 .....

덕분에 모든 구성원을 분리하는 것 같다.

+0

Silverlight는 [Serializable] 특성을 사용하여 일반적인 .NET 직렬화를 지원하지 않습니다. 또한 Linq-To-SQL DataContext 항목도 지원하지 않습니다. 생성 된 XML은'DataContractSerialisation'과 호환 될 필요가있다. 내 대답을 보라. – AnthonyWJones

관련 문제