我爲我的項目使用WCF,我需要通過它傳輸一些實體。我可以不加載給定的映射屬性(nhibernate)嗎?
事情是,他們中的一些有裏面的列表,具有enormeous數量的項目,等等,我不能通過WCF,因爲它的大小。
我怎樣才能通過代碼,不從數據庫加載給定的屬性,而是加載所有其餘的?
我爲我的項目使用WCF,我需要通過它傳輸一些實體。我可以不加載給定的映射屬性(nhibernate)嗎?
事情是,他們中的一些有裏面的列表,具有enormeous數量的項目,等等,我不能通過WCF,因爲它的大小。
我怎樣才能通過代碼,不從數據庫加載給定的屬性,而是加載所有其餘的?
其實由於西羅科我忍受了我自己。 我我的一個朋友幫我找到這個:
http://www.junasoftware.com/blog/nhibernate-setresulttransformer-and-dto.aspx
和這個: http://blog.hibernate.org/Bloggers/Everyone/Year/2006/Month/03/Day/17 – 2009-07-31 16:33:53
默認情況下,NH列表是懶加載的 - 所以除非您另有指定,否則列表將不會加載。
但是,該屬性將是一個IProxy ..一些不會被序列化的東西。如果你想要,你可以在該特定屬性上設置一個[XmlIgnore]或[NotSerializable](不知道它是如何通過wcf發送的)。
話雖如此 - 更喜歡使用DTO,而不是通過電線發送實體。請參閱this瞭解更多關於您爲什麼不應該發送實體的信息。
我正要放棄......但你知道嗎?我要去對付他們的詭計!即使它殺了我! – 2009-07-31 12:09:40
是否確定大小不能傳送名單的原因是什麼?我看到其他人在使用nHibernate時遇到了麻煩,因爲它使用`IList`接口來列表。 –
2009-07-30 00:01:30