我面临着非常奇怪的问题。我有3张桌子。我在WCF中使用LINQ to SQL。
Number
(它有RankId
外键,链接到Rank
表)Rank
(RankId
主键)CategoryRank
(它还有RankId
外键与Rank
表相关联)我正在使用从Number
表返回前10个数据的WCF。当我在WCF侧查看n.Rank.Number
(其中n是Number类的对象)和n.Rank.CategoryRank
时,它向我显示正确填充的数据。但是在客户端,当我检查n.Rank.Number
(它显示我填充的数据)时,n.Rank.CategoryRank
为空。
我将数据作为List<Number>
返回。我也尝试使用加载选项,但它没有用。 HasAssignedOrLoadedValues
的{{1}}客户端x.Rank.Number
为x.Rank.CategoryRank
的错误。
我的序列化模式为Unidirectional
,并且关系表之间的子属性也为真。
有人可以指导我这有什么问题吗?
此致
Viresh
答案 0 :(得分:1)
如果Number是LINQtoSQL生成的类型,您可能不需要与客户端共享该类型,而是使用DataMembers创建一个DataContract的自定义类型,并使用反射将您想要的值从Number映射到此自定义类型或类似AutoMapper的东西。因此,您将从服务中获得返回值
List<CustomNumberType> instead.
很明显n.Rank.CategoryRank没有被序列化。