private async Task SerializeBuffered(OeEntryFactory entryFactory, Db.OeEntityAsyncEnumerator asyncEnumerator, Stream stream) { var values = new List <Object>(); while (await asyncEnumerator.MoveNextAsync().ConfigureAwait(false)) { values.Add(asyncEnumerator.Current); } var resourceSet = new ODataResourceSet(); resourceSet.Count = values.Count; Writer.WriteStart(resourceSet); foreach (Object value in values) { int? dummy; ODataResource entry = CreateEntry(entryFactory, entryFactory.GetValue(value, out dummy)); Writer.WriteStart(entry); foreach (OeEntryFactory navigationLink in entryFactory.NavigationLinks) { WriteNavigationLink(value, navigationLink); } Writer.WriteEnd(); } Writer.WriteEnd(); }
private async Task SerializeUnbuffered(OeEntryFactory entryFactory, Db.OeEntityAsyncEnumerator asyncEnumerator, Stream stream) { Writer.WriteStart(new ODataResourceSet()); while (await asyncEnumerator.MoveNextAsync().ConfigureAwait(false)) { Object value = asyncEnumerator.Current; int? dummy; ODataResource entry = CreateEntry(entryFactory, entryFactory.GetValue(value, out dummy)); Writer.WriteStart(entry); foreach (OeEntryFactory navigationLink in entryFactory.NavigationLinks) { WriteNavigationLink(value, navigationLink); } Writer.WriteEnd(); } Writer.WriteEnd(); }
public async Task SerializeAsync(OeEntryFactory entryFactory, Db.OeEntityAsyncEnumerator asyncEnumerator, Stream stream, long?count) { ODataResourceSet oDataResourceSet = new ODataResourceSet(); oDataResourceSet.Count = count; Writer.WriteStart(oDataResourceSet); while (await asyncEnumerator.MoveNextAsync().ConfigureAwait(false)) { Object value = asyncEnumerator.Current; ODataResource entry = CreateEntry(entryFactory, entryFactory.GetValue(value)); Writer.WriteStart(entry); foreach (OeEntryFactory navigationLink in entryFactory.NavigationLinks) { WriteNavigationLink(value, navigationLink); } Writer.WriteEnd(); } Writer.WriteEnd(); }