我可以不加载给定的映射属性(nhibernate)吗?

时间:2009-07-29 20:31:29

标签: wcf nhibernate limit

我正在为我的项目使用WCF,我需要通过它传输一些实体。

事情是,他们中的一些人在里面有一个列表,有大量的项目,等等,我不能通过WCF传递它,因为它的大小。

我如何通过代码不从数据库加载给定属性,而是加载所有其余属性?

2 个答案:

答案 0 :(得分:1)

默认情况下,NH列表是延迟加载的 - 因此,除非您另行指定,否则不会加载列表。

但是,该属性将是一个无法序列化的IProxy。如果你想要,你可以在该特定属性上设置[XmlIgnore]或[NotSerializable](不确定它是如何通过wcf发送的)。

话虽如此 - 确实更喜欢使用DTO而不是通过网络发送您的实体。有关您不应发送实体的原因的详情,请参阅this

答案 1 :(得分:0)

实际上由于sirrocco我已经忍受了。 我的一个朋友帮我找到了这个:

http://www.junasoftware.com/blog/nhibernate-setresulttransformer-and-dto.aspx