ConvertToSqlTable() public méthode

public ConvertToSqlTable ( string uniqueIdentifier ) : SqlTable
uniqueIdentifier string
Résultat SqlTable
    public void ConvertToSqlTable ()
    {
      var selectProjection = Expression.Constant (new Cook());
      var sqlStatement =
          new SqlStatementBuilder { DataInfo = new StreamedSingleValueInfo (typeof (Cook), false), SelectProjection = selectProjection }.
              GetSqlStatement();
      var expression = new SqlSubStatementExpression (sqlStatement);

      var result = expression.ConvertToSqlTable ("q0");

      Assert.That (result.JoinSemantics, Is.EqualTo (JoinSemantics.Inner));
      Assert.That (result.TableInfo.GetResolvedTableInfo().TableAlias, Is.EqualTo ("q0"));
      Assert.That (result.TableInfo, Is.TypeOf (typeof (ResolvedSubStatementTableInfo)));
      
      var newSubStatement = ((ResolvedSubStatementTableInfo) result.TableInfo).SqlStatement;
      var expectedSubStatement = new SqlStatementBuilder (sqlStatement)
      {
        DataInfo = new StreamedSequenceInfo (typeof (IEnumerable<Cook>), sqlStatement.SelectProjection)
      }.GetSqlStatement();

      Assert.That (newSubStatement, Is.EqualTo (expectedSubStatement));
    }
    public void ConvertToSqlTable_StreamedSingleValueInfo_NoSqlTables ()
    {
      var selectProjection = Expression.Constant (new Cook ());
      var topExpression = new SqlLiteralExpression (2);
      var sqlStatement =
          new SqlStatementBuilder
          {
            DataInfo = new StreamedSingleValueInfo (typeof (Cook), false),
            SelectProjection = selectProjection,
            TopExpression = topExpression
          }.GetSqlStatement ();
      var expression = new SqlSubStatementExpression (sqlStatement);

      var result = expression.ConvertToSqlTable ("q0");

      Assert.That (result.JoinSemantics, Is.EqualTo (JoinSemantics.Inner));
      Assert.That (result.TableInfo.GetResolvedTableInfo ().TableAlias, Is.EqualTo ("q0"));
      Assert.That (result.TableInfo, Is.TypeOf (typeof (ResolvedSubStatementTableInfo)));

      var newSubStatement = ((ResolvedSubStatementTableInfo) result.TableInfo).SqlStatement;
      Assert.That (newSubStatement.TopExpression, Is.SameAs (topExpression));
    }
    public void ConvertToSqlTable_StreamedSingleValueInfoWithReturnsTrueIfEmpty_JoinSemanticIsChanged ()
    {
      var selectProjection = Expression.Constant (new Cook ());
      var sqlStatement =
          new SqlStatementBuilder
          {
            DataInfo = new StreamedSingleValueInfo (typeof (Cook), true),
            SelectProjection = selectProjection,
            TopExpression = new SqlLiteralExpression (2),
            SqlTables = { new SqlTable (new ResolvedSimpleTableInfo (typeof (Cook), "CookTable", "c"), JoinSemantics.Inner) }
          }.GetSqlStatement ();
      var expression = new SqlSubStatementExpression (sqlStatement);

      var result = expression.ConvertToSqlTable ("q0");

      Assert.That (result.JoinSemantics, Is.EqualTo (JoinSemantics.Left));
      Assert.That (result.TableInfo.GetResolvedTableInfo ().TableAlias, Is.EqualTo ("q0"));
      Assert.That (result.TableInfo, Is.TypeOf (typeof (ResolvedSubStatementTableInfo)));

      var newSubStatement = ((ResolvedSubStatementTableInfo) result.TableInfo).SqlStatement;
      var expectedSubStatement = new SqlStatementBuilder (sqlStatement)
      {
        DataInfo = new StreamedSequenceInfo (typeof (IEnumerable<Cook>), sqlStatement.SelectProjection),
        TopExpression = newSubStatement.TopExpression
      }.GetSqlStatement ();

      SqlExpressionTreeComparer.CheckAreEqualTrees (new SqlLiteralExpression (1), newSubStatement.TopExpression);
      Assert.That (newSubStatement, Is.EqualTo (expectedSubStatement));
    }
    public void ConvertToSqlTable_StreamedSequenceInfo ()
    {
      var selectProjection = Expression.Constant (new Cook ());
      var sqlStatement =
          new SqlStatementBuilder { DataInfo = new StreamedSequenceInfo(typeof (Cook[]), Expression.Constant(new Cook())), SelectProjection = selectProjection }.
              GetSqlStatement ();
      var expression = new SqlSubStatementExpression (sqlStatement);

      var result = expression.ConvertToSqlTable ("q0");

      Assert.That (result.JoinSemantics, Is.EqualTo (JoinSemantics.Inner));
      Assert.That (result.TableInfo.GetResolvedTableInfo ().TableAlias, Is.EqualTo ("q0"));
      Assert.That (result.TableInfo, Is.TypeOf (typeof (ResolvedSubStatementTableInfo)));
      Assert.That (((ResolvedSubStatementTableInfo) result.TableInfo).SqlStatement, Is.EqualTo(sqlStatement));
    }