public void DbQuery_SelectMany_with_TVFs_and_hierarchyid_types_works()
        {
            using (var context = new HierarchyIdNorthwindContext(_connectionString))
            {
                var results =
                    (from s1 in
                     context.SuppliersWithinRange(HierarchyId.Parse("/-100/"), HierarchyId.Parse("/100/"))
                     from s2 in
                     context.SuppliersWithinRange(HierarchyId.Parse("/-100/"), HierarchyId.Parse("/100/"))
                     where s1.Name == s2.Name
                     select new
                {
                    s1,
                    s2
                }).ToList();


                Assert.Equal(16, results.Count);
            }
        }
        private void DbQuery_with_TVFs_mapped_to_context_instance_methods_involving_hierarchyid_types_works(
            Func <IQueryable <IQueryable <SupplierWithHierarchyId> >, List <IQueryable <SupplierWithHierarchyId> > > toList)
        {
            using (var context = new HierarchyIdNorthwindContext(_connectionString))
            {
                var suppliers = toList(
                    from x in context.Suppliers
                    select
                    context.SuppliersWithinRange(
                        HierarchyId.Parse("/1/"),
                        HierarchyId.Parse("/10/")));

                Assert.Equal(16, suppliers.Count);
            }
        }