傳統實體框架4項目(不是POCO)。EDM結構註釋 - 用於在屬性上提供IgnoreDataMemberAttribute的示例xml配置
默認情況下,所有基本和導航實體屬性均使用DataMemberAttribute進行標記。
我想用IgnoreDataMemberAttribute標記一個實體導航屬性。其目的是當在WCF中使用DataContractSerializer時,當集合中有大量相關實體時,它不會在Web服務中生成非常大的序列化對象。該物業的無障礙似乎並不重要。
我見過有關使用結構註釋和edmx文件的一些文檔here和here。這似乎很適合這個目的。
是否可以使用結構註釋在edmx文件的CSDL中用IgnoreDataMemberAttribute標記實體屬性?
如果是這樣,有人可以提供一個例子嗎?
謝謝!
你並不需要標記它與'IgnoreDataMemberAttribute' - 它只是默認序列化需要的。你只需要移除'DataMemberAttribute',但點是一樣的 - 你需要告訴T4模板不生成屬性。 – 2012-07-17 15:08:14
我寫了[這個答案](http://stackoverflow.com/questions/5912839/how-do-i-use-structural-annotations-to-set-sql-type-to-date-in-model-first-/5924143#5924143)很久以前。它將結構註釋用於不同的目的,但您可以在其中找到一些初始信息,例如定義註釋和訪問T4模板中的註釋。您不需要使用'CopyToSSDL'屬性,因爲您的註釋僅適用於CSDL。 – 2012-07-17 15:11:24
如果要在設計器(而不是XML)中從屬性窗口控制註釋,則還必須爲Visual Studio編寫擴展。 – 2012-07-17 15:11:59