public void InvokeOperations() { TestClientContext.MergeOption = Microsoft.OData.Client.MergeOption.OverwriteChanges; // Invoke Unbounded Action var color1 = TestClientContext.GetDefaultColorPlus().GetValue(); Assert.AreEqual(color1, ColorPlus.RedPlus); // Invoke Bounded Function on single entity var account = TestClientContext.AccountsPlus.Where(a => a.AccountIDPlus == 101).Single(); var r2 = account.GetDefaultPIPlus().GetValue(); Assert.AreEqual(101901, r2.PaymentInstrumentIDPlus); // Invoke bounded Function on Navigation Property var account3 = TestClientContext.AccountsPlus.Expand(c => c.MyGiftCardPlus).Where(a => a.AccountIDPlus == 101).Single(); var result3 = account3.MyGiftCardPlus.GetActualAmountPlus(1).GetValue(); Assert.AreEqual(39.8, result3); // Invoke bounded Action on single entity set var product4 = TestClientContext.ProductsPlus.Where(p => p.ProductIDPlus == 7).Single(); var result = product4.AddAccessRightPlus(AccessLevelPlus.WritePlus).GetValue(); Assert.AreEqual(AccessLevelPlus.ReadWritePlus, result); // Invoke bounded Action on Navigation Property var account5 = TestClientContext.AccountsPlus.Where(ac => ac.AccountIDPlus == 101).Single(); var result5 = account5.RefreshDefaultPIPlus(DateTimeOffset.Now).GetValue(); Assert.AreEqual(101901, result5.PaymentInstrumentIDPlus); }