0

我有Entity Framework 6模板文件。我想在public virtual ICollection上包含[XmlIgnore],因爲它不能被序列化。XmlIgnore的編輯實體框架模板文件.tt

此模板文件生成設計類,我不希望編輯設計類的,一旦它的產生的編輯設計器類包括[XmlIgonre]。我想編輯模板,因此所有具有public virtual ICollection的行都將具有[XmlIgnore]屬性。

+0

你可以發佈的地方您正在使用TT文件? –

+0

@AkosNagy,我不能發佈整個TT文件,但這裏是用於XML代碼<#@ include文件= 「EF.Reverse.POCO.ttinclude」 #> <#@導入命名空間=「的System.Xml。模式」#> <# } #> – BSave

+0

TT的文件有在一些地方進行修改,但我只能告訴在那裏,如果我看到的模板。 –

回答

0

,你必須找到並修改這個(模型中的TT文件):

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

要這樣:

<# 
     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)#> 
<# 
     } 
    } 
#>