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(); }