我在使用IsReference = true从EF到WCF序列化POCO对象集合时遇到问题 . 对象具有几个不同的导航属性,这些属性完全填充在服务器端 . 但在客户端,对于某些导航属性,只有一个nav属性的副本被序列化 . 例如:

返回列表,每辆车都有一个所有者导航属性和一个Maker导航属性 . 假设我查询属于“Joe”(仅购买福特)的汽车列表,并返回5辆汽车 . 第一辆车的用户导航属性指向Joe,但是2号到5号车的用户导航属性为空 . 但所有5辆车的Maker导航 property 都指向福特 . 所有汽车都具有正确的外键ID,并且在服务器端,所有汽车都具有填充的所有导航属性

通过设置IsReference = true,我认为序列化程序看到Joe已经在对象图中,所以它不包括它用于汽车2 - 5.但它不会为所有导航属性(例如,汽车制造商)执行此操作) .

有谁知道发生了什么事?