.NET 3.5 sp1에서 JSON 문자열로 브라우저에 전송되는 POCO 클래스가 있습니다. 기본 JSON 직렬화를 사용하고 있으며 무시하고 싶은 필드가 있습니다. 직렬화되지 않도록 [System.Xml.Serialization.XmlIgnore]와 유사한 속성을 추가하고 싶습니다.
.NET 3.5 sp1에서 JSON 문자열로 브라우저에 전송되는 POCO 클래스가 있습니다. 기본 JSON 직렬화를 사용하고 있으며 무시하고 싶은 필드가 있습니다. 직렬화되지 않도록 [System.Xml.Serialization.XmlIgnore]와 유사한 속성을 추가하고 싶습니다.
답변:
내 모델 에서 ScriptIgnore 속성을 다음과 같이 사용합니다 .
public class Item
{
[ScriptIgnore]
public Item ParentItem { get; set; }
}
이 특정 시나리오에서는 Json serializer에서 순환 참조 오류가 발생했기 때문에 무시했습니다. 나는 한 SO 여기에 비슷한 질문을 I는 모델과 뷰 모델의 차이에 켜져 때.
[ScriptIgnore]
허커 베리입니다.
[ScriptIgnore(ApplyToOverrides = true)]
텍스트 템플릿 (.tt) 파일에 를 추가하기 만하면
됩니다.
여기에 내 텍스트 템플릿의 일부가
#>
<#=codeStringGenerator.NavigationProperty(navigationProperty)#>
<#
코드를 삽입하면 codeStringGenerator
내 클래스 위의 줄이 자동으로 생성되고 다음과 같이 표시됩니다.
[ScriptIgnore(ApplyToOverrides = true)]
public virtual ICollection<Currency> Currencies { get; set; }
또한 UsingDirectives
삽입 할 함수를 수정해야했습니다."using System.Web.Script.Serialization;"
ApplyToOverrides
가상 재산에 매우 중요 할 것 같다