public void TableQueryableProjection()
        {
            OperationContext opContext = new OperationContext();
            var baseQuery = currentTable.CreateQuery <POCOEntity>().WithContext(opContext);

            var pocoRes = (from ent in baseQuery
                           select new ProjectedPOCO()
            {
                PartitionKey = ent.PartitionKey,
                RowKey = ent.RowKey,
                Timestamp = ent.Timestamp,
                a = ent.a,
                c = ent.c
            });
            int count = 0;

            foreach (ProjectedPOCO ent in pocoRes)
            {
                Assert.IsNotNull(ent.PartitionKey);
                Assert.IsNotNull(ent.RowKey);
                Assert.IsNotNull(ent.Timestamp);

                Assert.AreEqual(ent.a, "a");
                Assert.IsNull(ent.b);
                Assert.AreEqual(ent.c, "c");
                Assert.IsNull(ent.d);
                count++;
            }

            // Project a single property via Select
            var stringRes = (from ent in baseQuery
                             select ent.b).ToList();

            Assert.AreEqual(stringRes.Count, count);


            // TableQuery.Project no resolver
            IQueryable <POCOEntity> projectionResult = (from ent in baseQuery
                                                        select TableQuery.Project(ent, "a", "b"));

            count = 0;
            foreach (POCOEntity ent in projectionResult)
            {
                Assert.IsNotNull(ent.PartitionKey);
                Assert.IsNotNull(ent.RowKey);
                Assert.IsNotNull(ent.Timestamp);

                Assert.AreEqual(ent.a, "a");
                Assert.AreEqual(ent.b, "b");
                Assert.IsNull(ent.c);
                Assert.IsNull(ent.test);
                count++;
            }

            Assert.AreEqual(stringRes.Count, count);

            // TableQuery.Project no resolver
            IQueryable <string> resolverRes = (from ent in baseQuery
                                               select TableQuery.Project(ent, "a", "b")).Resolve((pk, rk, ts, props, etag) => props["a"].StringValue);

            count = 0;
            foreach (string s in resolverRes)
            {
                Assert.AreEqual(s, "a");
                count++;
            }

            Assert.AreEqual(stringRes.Count, count);
        }