我有一个处理数据库访问的服务器和一个消耗信息的客户端。从客户端到服务器的通信是通过WCF服务。从WCF服务返回NHibernate映射类
当NHibernate POCO从服务中返回时,对象图中的所有对象都被序列化了吗?如果是这样,有没有办法改变它?
我也想着不返回NHibernate POCO,而只返回一个只有基本信息的对象。
你在这些情况下做什么?
我有一个处理数据库访问的服务器和一个消耗信息的客户端。从客户端到服务器的通信是通过WCF服务。从WCF服务返回NHibernate映射类
当NHibernate POCO从服务中返回时,对象图中的所有对象都被序列化了吗?如果是这样,有没有办法改变它?
我也想着不返回NHibernate POCO,而只返回一个只有基本信息的对象。
你在这些情况下做什么?
使用数据传输对象将数据从服务器移动到客户端。您的业务(域模型)对象不一定会暴露在应用程序的核心之外,但应被视为受保护的资产。
您可以使用AutoMapper自动执行从业务对象到数据传输对象的翻译。
是的,你可能想要一个DTO。通常认为不将数据对象传递给外部世界会更好,但是直接从服务中传递hibernate对象可能会给你一些奇怪的行为,特别是当你有懒惰加载的集合时。
我以前没有听说过这个。看起来正是我需要的。谢谢 – Megacan 2009-02-23 11:02:20