public void SingleUnionWithSubSelect() { OrderCollection coll = new OrderCollection(); coll.es.Connection.Name = "ForeignKeyTest"; switch (coll.es.Connection.ProviderSignature.DataProviderName) { case "EntitySpaces.SqlServerCeProvider": case "EntitySpaces.SqlServerCe4Provider": Assert.Ignore("Scalar SubSelects are not supported in SqlCe."); break; default: OrderQuery oq1 = new OrderQuery("o1"); OrderItemQuery oiq1 = new OrderItemQuery("oi1"); oq1.Select ( oq1.OrderID, oq1.OrderDate, oiq1.Select( oiq1.UnitPrice.Max()) .Where(oq1.OrderID == oiq1.OrderID).As("MaxUnitPrice") ); oq1.Where(oq1.OrderDate.Between(Convert.ToDateTime("2005-01-01"), Convert.ToDateTime("2005-12-31"))); OrderQuery oq2 = new OrderQuery("o2"); OrderItemQuery oiq2 = new OrderItemQuery("oi2"); oq2.Select ( oq2.OrderID, oq2.OrderDate, oiq2.Select( oiq2.UnitPrice.Max()) .Where(oq2.OrderID == oiq2.OrderID).As("MaxUnitPrice") ); oq2.Where(oq2.OrderDate.Between(Convert.ToDateTime("2004-01-01"), Convert.ToDateTime("2004-12-31"))); oq1.Union(oq2); oq1.OrderBy(oq1.OrderID.Ascending); //string lq = cq1.Parse(); Assert.IsTrue(coll.Load(oq1)); Assert.AreEqual(6, coll.Count); Assert.AreEqual(3m, coll[0].GetColumn("MaxUnitPrice")); break; } }