MySql.Data.Entity.Tests.JoinTests.JoinOfUnionsOnRightSideofJoin C# (CSharp) Method

JoinOfUnionsOnRightSideofJoin() private method

private JoinOfUnionsOnRightSideofJoin ( ) : void
return void
    public void JoinOfUnionsOnRightSideofJoin()
    {
      using (testEntities context = new testEntities())
      {
        string eSql = @"SELECT c.Id, c.Name, Union1.Id, Union1.Name, 
                                Union2.Id, Union2.Name FROM 
                                testEntities.Companies AS c JOIN (
                                ((SELECT t.Id, t.Name FROM testEntities.Toys as t) 
                                UNION ALL 
                                (SELECT s.Id, s.Name FROM testEntities.Shops as s)) AS Union1
                                JOIN 
                                ((SELECT a.Id, a.Name FROM testEntities.Authors AS a) 
                                UNION ALL 
                                (SELECT b.Id, b.Name FROM testEntities.Books AS b)) AS Union2
                                ON Union1.Id = Union2.Id) ON c.Id = Union1.Id";
        ObjectQuery<DbDataRecord> query = context.CreateQuery<DbDataRecord>(eSql);
        string sql = query.ToTraceString();
        CheckSql(sql, SQLSyntax.JoinOfUnionsOnRightSideOfJoin);
        foreach (DbDataRecord record in query)
        {
          Assert.AreEqual(6, record.FieldCount);
        }
      }
    }