private void WriteEntry(ODataWriter writer, ODataItem entry) { ODataResource resource = entry as ODataResource; if (resource != null) { writer.WriteStart(resource); } else { writer.WritePrimitive((ODataPrimitiveValue)entry); } var annotation = entry.GetAnnotation <ODataEntryNavigationLinksObjectModelAnnotation>(); ODataNestedResourceInfo navLink = null; if (annotation != null) { for (int i = 0; i < annotation.Count; ++i) { bool found = annotation.TryGetNavigationLinkAt(i, out navLink); ExceptionUtilities.Assert(found, "Navigation links should be ordered sequentially for writing"); this.WriteNavigationLink(writer, navLink); } } writer.WriteEnd(); }