2011-05-02 2 views
2

Robs Manatee을 살펴 보겠습니다. 속성은 다음과 같이 존재하는 경우 동적 객체에 JSON 마이그레이션을 변환 한 후, 그는 확인합니다 :다이나믹스에서 누락 된 속성이 asp.net에서 다르게 처리 되었습니까?

:

  if (col.nullable != null) { 
       if (col.nullable) { 
        sb.Append(" NULL "); 
       } else { 
        sb.Append(" NOT NULL "); 
       } 
      } else { 
       sb.Append(" NULL "); 
      } 

내가 WPF 응용 프로그램에이를 컴파일 할 때, 나는 첫 번째 줄에 예외가

'System.Dynamic.ExpandoObject은' 는 '널 (NULL)' 에 대한 정의를 포함하지 않는

그럼, 왜 asp.net 설정에서이 작업 사용 않습니다

? 아니면 WebMatrix와 관련이 있습니까?

+0

동적 객체가 액세스하는 어셈블리와 다른 어셈블리에있는 익명 형식으로 동적 객체를 지원할 때 비슷한 문제가 발생하는 것으로 나타났습니다. 그것은 그것과 관련이있을 수 있습니다. – StriplingWarrior

+0

jsonFx를 사용하여 json을 역 동성으로 디코딩합니다. 그 개체는 다른 어셈블리에서 익명 형식으로 백업됩니까? Rob은 webmatrix에서 사용할 수있는 json 도우미를 동일한 작업에 사용합니다. 왜 다른가? – Vegar

답변

1

webmatrix가 expando보다는 자체 동적 유형을 사용한다는 것이 문제입니다. 값이 설정되지 않은 경우 expando를 사용하면 null을 반환하는 대신 예외가 발생합니다. JSON의 FX는이 객체

.net DynamicObject implementation that returns null for missing properties rather than a RunTimeBinderException

다른 옵션은 장난 구성원에 대한 예외를 잡을처럼 다른 "의 expando"를 사용하게됩니다 있는지 확실하지 않습니다.

관련 문제