2017-03-14 13 views
0

지연로드가있는 엔티티를 사용하고 있는데 문제가 발생했습니다. 관련 속성을 포함하지 않는 쿼리를 실행 중이지만 개체를 ​​serialize하려고하면 serializer가 관련 속성을로드하고 내 컨텍스트가 처리되었으므로 예외가 발생합니다.느린 로딩 문제 프레임 워크 엔터티

내가하고 싶은 일은로드되지 않을 때 관련된 모든 속성을 null로 설정하는 것입니다. (몇 번이나 쿼리에 포함 할 수도 있고이 경우 해당 항목을 직렬화하고 싶습니다.) 할 수있는 방법이 있습니까?

답변

0

다음 코드를 사용해보십시오. 직렬화에 Json.Net을 사용하고 LazyLoadingEnabled = false로 설정합니다.

using (var dbContext = new ApplicationDbContext()) 
{ 
    dbContext.Configuration.LazyLoadingEnabled = false; 

    var list = dbContext.Videos.Take(5).ToList(); 

    var output = JsonConvert.SerializeObject(list); 
} 
+0

AsNoTraking()은 프록시 생성 및 지연로드를 방지하지 않습니다. –

+0

어떤 시리얼 라이저가 사용합니까? –

+0

죄송합니다, 답변을 수정하십시오, 확인하십시오 –