我正面临着非常奇怪的问题。我有三张桌子。我在WCF中使用。
Number
(它有连接到Rank
table)Rank
(RankId
主key)CategoryRank
(也有RankId
外键,链接到Rank
表)的RankId
外键)我使用的是WCF,它从Number
表返回前10位数据。当我查看n.Rank.Number
(其中n是Number类的对象)和WCF侧的n.Rank.CategoryRank
时,它向我展示了正确填充的数据。但是在客户端,当我检查n.Rank.Number
(它显示的是填充的数据)时,n.Rank.CategoryRank
是空的。
我以List<Number>
的形式返回数据。我也试过使用load选项,但没有起作用。在客户端,HasAssignedOrLoadedValues
for x.Rank.Number
在x.Rank.CategoryRank
为false时为true。
我将序列化模式转换为Unidirectional
,并且关系表之间的子属性也是正确的。
有人能指点我这是怎么了吗?
致以敬意,
维雷什
发布于 2011-07-18 16:56:23
如果Number是LINQtoSQL生成的类型,您可能不需要与客户端共享该类型,而是创建一个带有DataMembers的自定义类型,并使用反射或类似于AutoMapper的方法将您想要的值从Number映射到这个自定义类型。因此,相反,您将获得服务的返回值,如
List<CustomNumberType> instead.
很明显,n.Rank.CategoryRank没有被序列化。
https://stackoverflow.com/questions/6733004
复制相似问题