我有一个POCO类,它作为.NET 3.5 sp1中的JSON字符串发送到浏览器。我只是使用默认的JSON序列化,我想忽略一些字段。我想在它们上放置一个类似于[System.Xml.Serialization.XmlIgnore]的属性,以便不进行序列化。
我有一个POCO类,它作为.NET 3.5 sp1中的JSON字符串发送到浏览器。我只是使用默认的JSON序列化,我想忽略一些字段。我想在它们上放置一个类似于[System.Xml.Serialization.XmlIgnore]的属性,以便不进行序列化。
Answers:
我在模型上使用ScriptIgnore属性,如下所示:
public class Item
{
[ScriptIgnore]
public Item ParentItem { get; set; }
}
在这种特殊情况下,我从Json序列化器收到循环引用错误,因此我只是忽略了它。当我打开Model和ViewModel之间的区别时,我在SO上也问过类似的问题。
[ScriptIgnore]
是你的huckaberry。
您只需将添加
[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
在虚拟财产上似乎非常重要