Наследование: TableStorageContext
        public async Task TestLocalItems()
        {
            var context = new NewTableStorageContext();

            context.TestLocalItems.Add(
                new MyTestClass
                {
                    LolKey = "adsad",
                    Name = "adsad",
                    Items = new List<SubItem>{ 
                        new SubItem
                        {
                            LastName="adsa", 
                            Name="sda"
                        },
                        new SubItem
                        { 
                            LastName="adsa",
                            Name="sda"
                        } 
                    }
                });
            await context.SaveChangesAsync();

            var items = (from ent in context.TestLocalItems select ent).ToArray();
            Trace.WriteLine(JsonConvert.SerializeObject(items));
            Trace.WriteLine(items.First().Items.GetType().ToString());
        }
        public async Task SelectWithWhere()
        {

            var context = new NewTableStorageContext();

            context.People.Add(new MyTestPoco { LastName = "as", Name = "adsad1" });
            context.People.Add(new MyTestPoco { LastName = "as", Name = "adsad2" });
            context.People.Add(new MyTestPoco { LastName = "as", Name = "adsad3" });
            context.People.Add(new MyTestPoco { LastName = "as", Name = "adsad4" });
            context.People.Add(new MyTestPoco { LastName = "as", Name = "adsad5" });
            context.People.Add(new MyTestPoco { LastName = "as", Name = "adsad6" });

            await context.SaveChangesAsync();

            //This call should project name to PartitionKey
            var query = from ent in context.People
                        where ent.Name == "adsad1"
                        select ent;

            //The following query get build such only the Name column is
            //retrieved from the server, and its mapped such it know to do
            //the filter on partition key and not the name. (Model Builder)
            var result = query.Select(t=>t.Name).ToArray();
        }
        public async Task SelectServerSideProjection()
        {

            var context = new NewTableStorageContext();

            context.SubItems.Add(new SubItem { Name = "adsad1", LastName= "blasad1" });
            context.SubItems.Add(new SubItem { Name = "adsad1", LastName = "blasad2" });
            context.SubItems.Add(new SubItem { Name = "adsad2", LastName = "blasa3d" });
            context.SubItems.Add(new SubItem { Name = "adsad2", LastName = "blasad4" });
            
            await context.SaveChangesAsync();


            //This call should project name to PartitionKey
            var query = from ent in context.People
                        select new { ent.Name, ent.Age };

            //The following query get build such only the Name column is
            //retrieved from the server, and its mapped such it know to do
            //the filter on partition key and not the name. (Model Builder)
            var result = query.Select(t => t).Where(t=>true).Select(t=>t.Name).ToArray();

            var withTableEntity = (from ent in context.People1
                                  select new { ent.Name }).ToArray();

            var adsad1 = await context.People1.FindByKeysAsync("adsad1", "as");
            var subitems = (from ent in adsad1.Items
                           select ent).ToArray();
            var tst = (from ent in ((ITableRepository<SubItem>)adsad1.Items).BaseQuery
                      select ent).ToArray();

            var allsubs = (from ent in context.SubItems select ent).ToArray();
            
        }
        public async Task SelectAll()
        {

            var context = new NewTableStorageContext();

            context.People.Add(new MyTestPoco { LastName = "as", Name = "adsad" });

            await context.SaveChangesAsync();

            var query = from ent in context.People select ent;

            var result = query.ToArray();
        }