【发布时间】:2011-11-25 07:09:11
【问题描述】:
我正在开发一个 WPF 应用程序,架构师是
WPF->WCF->DAL
问题是当我调用 WCF 方法时,它返回对象。 WCF 级别的所有内容都可以正常工作,但是在返回对象时,在 WCF 之后,我的导航属性设置为 null。
我返回的是Department 类的object(POCO) 对象,它的导航属性是Employees。我验证了 [DataMember] 属性,但事实并非如此。但是一旦它到达 MainUI,它的 Employees 属性就会设置为 null。
我的导航属性的代码是这样的
谢谢
【问题讨论】:
-
你能把你的查询代码放上去吗
-
是WCF服务代码吗?为什么您使用
ToFixupCollection而不是在单个查询中包含所有详细信息?Employees是映射关系吗?你能显示你的实体的代码吗?您是如何创建 WCF 客户端的?顺便提一句。您可以检查传输的消息以验证 WCF 服务是否发送了您的数据(使用 message logging)? -
也不要给
department.FirstOrDefault()打电话两次。它执行数据库查询两次。您只需调用一次并使用结果。 -
嗨 Ladislav,我在我的问题中添加了很多代码,希望对您有所帮助
-
ToFixUpCollection的代码仍然丢失,但我看到FixupCollection的设置器没有枚举集合。就像 Ladislav 说的,你应该只使用一次FirstOrDefault并枚举Employees集合来加载它。
标签: c# wpf entity-framework serialization deserialization