public void InsertAndUpdatePropertyValueUsingLinq() { TimeSpan timespan = new TimeSpan((new Random()).Next()); var queryable = TestClientContext.Orders.Where(c => c.ShelfLife == timespan) as ODataClient.DataServiceQuery <Order>; Assert.IsTrue(queryable.RequestUri.OriginalString.EndsWith("/Orders?$filter=ShelfLife eq duration'" + XmlConvert.ToString(timespan) + "'", StringComparison.Ordinal)); var result1 = queryable.ToList(); Assert.IsTrue(result1.Count == 0); int orderID = (new Random()).Next(); // create an entity Order order = new Order() { OrderID = orderID, OrderDate = new DateTimeOffset(new DateTime(2011, 3, 4, 16, 3, 57)), ShelfLife = timespan, OrderShelfLifes = new ObservableCollection <TimeSpan>() { timespan } }; TestClientContext.AddToOrders(order); TestClientContext.SaveChanges(); // query and verify var result2 = queryable.ToList(); Assert.AreEqual(1, result2.Count); Assert.AreEqual(orderID, result2[0].OrderID); // update the Duration properties timespan = new TimeSpan((new Random()).Next()); order.ShelfLife = timespan; order.OrderShelfLifes = new ObservableCollection <TimeSpan>() { timespan }; TestClientContext.UpdateObject(order); TestClientContext.SaveChanges(ODataClient.SaveChangesOptions.ReplaceOnUpdate); // query Duration property var queryable2 = TestClientContext.Orders.Where(c => c.OrderID == orderID).Select(c => c.ShelfLife).FirstOrDefault(); Assert.IsTrue(queryable2 != null); Assert.AreEqual(timespan, queryable2); // query collection of Duration property var queryable3 = (from c in TestClientContext.Orders where c.OrderID == orderID select c.OrderShelfLifes).FirstOrDefault(); Assert.IsTrue(queryable3.Count == 1); Assert.AreEqual(timespan, queryable3[0]); // delete entity and validate TestClientContext.DeleteObject(order); TestClientContext.SaveChanges(ODataClient.SaveChangesOptions.ReplaceOnUpdate); var queryable4 = TestClientContext.Execute <Order>(new Uri("Orders()?$filter=ShelfLife eq duration'" + XmlConvert.ToString(timespan) + "'", UriKind.Relative)); Assert.IsTrue(queryable4.Count() == 0); }