개체 그래프를 직렬화하려고합니다. 엔티티 집합 인 하위 엔티티를로드 할 때까지 작동합니다. 시스템에서 직렬화를 허용하지 않습니다 ...이 오류가 발생합니다 :Linq하려면 SQL 개체 및 직렬화 문제
형식 'System.Data.Linq.EntitySet`1 [NetDataContractSerializerTest.JobService]'을 (를) 직렬화 할 수 없습니다. DataContractAttribute 특성으로 표시하고 DataMemberAttribute 특성을 사용하여 직렬화 할 모든 구성원을 표시하는 것이 좋습니다. 형식이 컬렉션 인 경우 컬렉션에 CollectionDataContractAttribute를 표시하는 것이 좋습니다. 다른 지원되는 유형은 Microsoft .NET Framework 설명서를 참조하십시오. 나는
dataloadOptions.LoadWith(j => j.JobServices)
데이터가 그대로 JN 및 NH 테이블 직렬화를 분리 한 경우
DataClasses1DataContext dataAccessContext = new DataClasses1DataContext();
MemoryStream stream = new MemoryStream();
DataLoadOptions dataloadOptions = new DataLoadOptions();
dataloadOptions.LoadWith<JN>(j => j.nh);
dataloadOptions.LoadWith<JN>(j => j.JobServices);// this is the child entity set
dataAccessContext.LoadOptions = dataloadOptions;
var jn= dataAccessContext.JN.Where(j => j.LocnID.Trim() == "HT").ToList();
var netDataContractSerializer = new NetDataContractSerializer();
netDataContractSerializer.Serialize(stream, jn); //the error happens here
: 여기
내가 사용하고있는 코드입니다. 하지만 넣어 때
dataloadOptions.LoadWith(j => j.JobServices)
다시 오류가 발생합니다.
나는 개인적으로, 불행하게도 나는
dataloadOptions.LoadWith(j => j.JobServices.ToList())
이 오류가 발생 할 수 없어이 나를 JobServices에 ToList()를 추가하고 싶은 생각합니다.
아이디어가 있으십니까?
그것은 Linq에 엔티티 세트의 아래 링크를 확인 DataContractSerializer, XMLWriter가와의 XMLReader
을 사용하여 직렬화 및 역 직렬화 기능을 썼다 .... .. dbml을 Unidirectional로 설정할 때 아직 완료되지 않았습니까? –