Don't expose internal types to external systems. Use coarse grained messages and DTOs to model the external view of your system. The small price you pay in maintaining this extra layer buys you the ability to change your internal system without affecting the clients of the service.
If you are insistent on exposing your entities via WCF, turn off lazy loading. You may be able to generate your own proxies that are smart enough to go back to the WCF service to pull down any lazy loaded collections. James On Tue, Mar 31, 2009 at 12:08 PM, graphicsxp <[email protected]>wrote: > > Hi, > > I'm struggling to get WCF Service working with NHibernate. > > I have a Post entity which holds a collection of Publication entities > (lazy loaded). When the collection is loaded and the Post entity > returned to the client via WCF, there is an exception : > > Type 'PublicationProxyc00e5dcd4dce4ee889643285aadb5575' cannot have > DataContractAttribute attribute Namespace set to null. > > The type PublicationProxy was created by NHibernate but the > Publication class looks like : > > [DataContract(Name = "Publication")] > public class Publication : IPublication > { > . > . > . > } > > What can I do to workaround this issue ? > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
