2017-02-08 3 views
0

형식의 개체를 serialize하는 동안 검색되었습니다. ASP.NET 및 기타 다른 작업에 익숙합니다. 개체 프레임 워크에서 automapper를 사용하고 있습니다. 난 JSON 응답으로 원하는 데이터를 얻기 위해 시도 할 때 ERROR는 ....... 이것은 ...순환 참조가 System.Data.Entity.DynamicProxies.Account_

System.Data.Entity.DynamicProxies.Account_C2A5EBE3CC4467F8B34569FAEB8687C41333F5D82DB38AC1D2E21FC5F8A47193 '를 발생한다.]

I stackoverflow 및 다른 플랫폼에서 많은 리소스를 시도했지만 또한 단단한 솔루션이 없습니다. 이 문제에. MODELS에서 가상 키워드를 사용하여 LAZY LOADING을 사용하도록 설정했습니다. 다음을 사용하여 지연로드를 해제하고 싶지 않습니다.

Configuration.ProxyCreationEnabled = false; 내가 게으른 로딩을 사용하여 모든 데이터를로드 할 수있는 다른 솔루션을 찾고 있어요

..

내가 오프 지연로드에 갈거야 경우는 다른 두통에 직면한다.

나 좀 도와주십시오 노인 ...........

답변

0

두 가지 옵션 :

  1. 전체 개체를 직렬화하지 마십시오. 대신보다 간단한 클래스로 변환 한 다음 해당 개체를 직렬화하십시오. 개체 변환을 위해 AutoMapper를 사용하는 것이 좋습니다.

  2. Json.Net을 사용하는 경우 피해야 할 속성 위에 JsonIgnore 속성을 추가 할 수 있습니다.

내 추천이 첫 번째 옵션입니다. 나는 정말로 필요한 물건만을 돌려주는 것이 좋습니다. 이를 위해 간단한 모델 객체와 엔티티와이 모델 클래스를 변환하는 매퍼가 있어야합니다. 예를 들어 모든 엔티티 객체가 완전히 연결되어 있으면 전체 데이터베이스를 직렬화하는 경우가 발생할 수 있습니다. 이는 바람직하지 않습니다. 프레젠테이션 레이어에서 엔터티를 이동하십시오.