我有一个Web Api控制器,它返回一个Species实体列表:
public class SpeciesController : ApiController
{
private MyEntities db = new MyEntities();
// GET api/Default1
public IEnumerable<Species> GetSpecies()
{
return db.Species.AsEnumerable();
}
如果我在GetSpecies中放置一个断点并在db.Species.AsEnumerable()上快速监视,我会看到三个物种,每个物种都有ID和名称。
但是,如果我检查浏览器的结果,我会得到这个XML:
<ArrayOfSpecies>
<Species z:Id="i1">
<EntityKey z:Id="i2">
*snip*
</EntityKey>
<ConversionFactors>
*snip*
</ConversionFactors>
<Id>1</Id>
<Name>Spruce/J Pine/Fir</Name>
</Species>
<Species z:Ref="i47"/>
<Species z:Ref="i35"/>
</ArrayOfSpecies>
所以我有三个Species元素,每个项目一个,但为什么只有第一个项目填充其Id和Name属性?为什么其他元素是空的?