Mam klasę POCO, która jest wysyłana do przeglądarki jako ciąg JSON w .NET 3.5 sp1. Używam tylko domyślnej serializacji JSON i mam kilka pól, które chcę zignorować. Chcę umieścić na nich atrybut podobny do [System.Xml.Serialization.XmlIgnore], aby nie były serializowane.
c#
.net
asp.net-mvc
json
serialization
runxc1 Bret Ferrier
źródło
źródło
[ScriptIgnore]
to twoja jagoda.
źródło
Wystarczy dodać
[ScriptIgnore(ApplyToOverrides = true)]
do pliku szablonu tekstowego (.tt).Tutaj część mojego wcześniejszego szablonu tekstowego
#> <#=codeStringGenerator.NavigationProperty(navigationProperty)#> <#
Po wstawieniu kodu wiersz powyżej
codeStringGenerator
moich klas automatycznie wygenerowanych i wyglądał tak:[ScriptIgnore(ApplyToOverrides = true)] public virtual ICollection<Currency> Currencies { get; set; }
Musiałem również zmodyfikować
UsingDirectives
funkcję wstawiania"using System.Web.Script.Serialization;"
źródło
ApplyToOverrides
wydaje się być bardzo ważny na wirtualnej nieruchomościUstaw właściwość jako wewnętrzną. Zależy to jednak od twojej struktury. Wziąć pod uwagę.
źródło