使用實體從數據庫表中構建對象時,一對多關係作爲集合存儲在「一個」對象中,默認屬性爲ICollection類型。更改默認實體集合類型
但是,在運行時,對象被實例化爲HashSet。
是否有任何方法來配置實體默認情況下使屬性成爲HashSet?
當前我試圖從asmx web服務返回實體對象,但是ICollection由於它是一個接口而無法序列化。我可以通過將所有對ICollection的引用更改爲類代碼中的HashSet來解決此問題,但是,只要對實體模型進行更改,就會覆蓋此內容。
使用實體從數據庫表中構建對象時,一對多關係作爲集合存儲在「一個」對象中,默認屬性爲ICollection類型。更改默認實體集合類型
但是,在運行時,對象被實例化爲HashSet。
是否有任何方法來配置實體默認情況下使屬性成爲HashSet?
當前我試圖從asmx web服務返回實體對象,但是ICollection由於它是一個接口而無法序列化。我可以通過將所有對ICollection的引用更改爲類代碼中的HashSet來解決此問題,但是,只要對實體模型進行更改,就會覆蓋此內容。
要行更改此設置,更改:navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
的Model.tt文件內
navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("HashSet<" + endType + ">") : endType,