0

J'ai le fichier modèle Entity Framework 6. Je voudrais inclure [XmlIgnore] sur public virtual ICollection car il ne peut pas être sérialisé.Modifier le fichier modèle Entity Framework .tt pour XmlIgnore

Ce fichier de modèle génère une classe de concepteur et je ne souhaite pas modifier la classe de concepteur pour inclure [XmlIgonre] en modifiant la classe de concepteur une fois générée. Je veux éditer le modèle afin que toutes les lignes avec public virtual ICollection aient l'attribut [XmlIgnore].

+0

Pouvez-vous poster quelque part le fichier tt que vous utilisez? –

+0

@AkosNagy, je ne peux pas publier le fichier tt entier mais voici le code qui est utilisé pour Xml <# @ include fichier = "EF.Reverse.POCO.ttinclude" #> <# @ import namespace = "System.Xml. Schema "#> <# } #> – BSave

+0

Le fichier tt doit être modifié à plusieurs endroits, mais je ne peux dire que si je vois le modèle. –

Répondre

0

vous devez rechercher et de modifier ce (dans votre modèle fichier tt):

<# 
     foreach (var navigationProperty in navigationProperties) 
     { 
      if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many) 
      { 
#> 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
<# 
      } 
#> 
    <#=codeStringGenerator.NavigationProperty(navigationProperty)#> 
<# 
     } 
    } 
#> 

à ceci:

<# 
     foreach (var navigationProperty in navigationProperties) 
     { 
      if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many) 
      { 
#> 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
    [System.Xml.Serialization.XmlIgnore] 
<# 
      } 
#> 
    <#=codeStringGenerator.NavigationProperty(navigationProperty)#> 
<# 
     } 
    } 
#>