实体列表未按预期序列化

时间:2012-12-17 16:20:35

标签: asp.net entity-framework-4 asp.net-web-api

我有一个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属性?为什么其他元素是空的?

0 个答案:

没有答案