private void ExecuteInDbContext(Action <ProjectsDbContext> action)
        {
            using (var factory = new ProjectsDbContextFactory())
            {
                using (var ctx = factory.CreateContext())
                {
                    PopulateDb(ctx);

                    action(ctx);
                }
            }
        }
        public void ProjectingExpressionFailsWithNoCallToAsExpressionProjectable_Test()
        {
            Expression <Func <Project, double?> > localSelector =
                proj => proj.Subprojects.Where(sp => sp.Area < 1000).Average(sp => sp.Area);

            using (var factory = new ProjectsDbContextFactory())
            {
                using (var ctx = factory.CreateContext(false))
                {
                    PopulateDb(ctx);

                    var projects = (from p in ctx.Projects
                                    select new
                    {
                        Project = p,
                        AEA = localSelector.Project(p)
                    }).ToArray();
                }
            }
        }