Species エンティティのリストを返す Web Api コントローラーがあります。
public class SpeciesController : ApiController
{
private MyEntities db = new MyEntities();
// GET api/Default1
public IEnumerable<Species> GetSpecies()
{
return db.Species.AsEnumerable();
}
GetSpecies にブレークポイントを設定し、db.Species.AsEnumerable() でクイック ウォッチを起動すると、3 つの種が表示され、それぞれに 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>
各項目に 1 つずつ、合計 3 つの Species 要素がありますが、なぜ最初の項目だけが Id プロパティと Name プロパティを取得するのでしょうか? 他の要素が空なのはなぜですか?