2009-07-29 7 views
0

J'utilise WCF pour mon projet et j'ai besoin de transiter certaines entités à travers elle. Le fait est que certains d'entre eux ont des listes à l'intérieur, avec un amorme nombre d'objets, et ainsi de suite, je ne peux pas le passer à travers WCF, compte tenu de sa taille.Puis-je charger une propriété mappée donnée (nhibernate)?

Comment puis-je, par le biais du code, ne pas charger une propriété donnée à partir de la base de données, mais charger tout le reste?

+0

Êtes-vous certain que la taille est la raison pour laquelle vous ne pouvez pas transmettre les listes? J'ai vu d'autres problèmes avec nHibernate car il utilise l'interface 'IList ' pour les listes. –

Répondre

1

Par défaut, les listes NH sont chargées paresseuse. Par conséquent, sauf indication contraire, la liste ne sera pas chargée. Cependant, la propriété sera une propriété IProxy ... qui ne sera pas sérialisable. Si vous voulez, vous pouvez probablement définir un [XmlIgnore] ou [NotSerializable] (ne savez pas comment il est envoyé sur wcf) sur cette propriété spécifique. Cela dit, préférez utiliser un DTO au lieu d'envoyer votre entité sur le réseau. Voir this pour plus d'informations sur les raisons pour lesquelles vous ne devez pas envoyer l'entité.

+0

J'allais abandonner ... mais tu sais quoi? Je vais faire face à leurs manigances! Même si ça me tue! –

Questions connexes