Skip to main content
All docs
V25.1
  • QueryBuildingExtensions.Transform(IJoinNode) Method

    Creates a TransformationNodeBuilder object that allows you to apply transformations to a node created after the Join, Select, Union, or Union All operations.

    Namespace: DevExpress.DataAccess.DataFederation

    Assembly: DevExpress.DataAccess.v25.1.dll

    NuGet Package: DevExpress.DataAccess

    Declaration

    public static TransformationNodeBuilder Transform(
        this IJoinNode root
    )

    Parameters

    Name Type Description
    root IJoinNode

    A node created after the Join, Select, Union, or Union All operations.

    Returns

    Type Description
    TransformationNodeBuilder

    An object that allows you to apply transformation operations.

    Example

    The following example demonstrates how to unfold and flatten the Products array of two data sources and unite data from these sources.

    Show JSON Data (Products1.json)
    [
        {
            "CategoryID": 1,
            "Products":
            [
                {
                    "ProductName": "Chai",
                    "UnitPrice": 18
                },
                {
                    "ProductName": "Chang",
                    "UnitPrice": 19
                }
            ]
        },
        {
            "CategoryID": 2,
            "Products":
            [
                {
                    "ProductName": "Ikura",
                    "UnitPrice": 31
                },
                {
                    "ProductName": "Konbu",
                    "UnitPrice": 6
                }
            ]
        }
    ]
    
    Show JSON Data (Products2.json)
    [
        {
            "CategoryID": 1,
            "Products":
            [
                {
                    "ProductName": "Chai",
                    "UnitPrice": 18
                },
                {
                    "ProductName": "Chang",
                    "UnitPrice": 19
                }
            ]
        },
        {
            "CategoryID": 2,
            "Products":
            [
                {
                    "ProductName": "Ikura",
                    "UnitPrice": 31
                },
                {
                    "ProductName": "Konbu",
                    "UnitPrice": 6
                }
            ]
        }
    ]
    
    using DevExpress.DataAccess.DataFederation;
    using DevExpress.DataAccess.Json;
    // ...
    var source1 = new Source("Products1", jsonDataSource1);
    var source2 = new Source("Products2", jsonDataSource2);
    
    var query = source1
        .From()
        .Select("Products")
        .Build()
        .Union(source2
            .From()
            .Select("Products")
            .Build())
        .Build()
        .Transform()
        .TransformColumn("Products")
        .Build("ProductsUnited");
    
    var federation = new FederationDataSource() {
        Queries = { query }
    };
    

    The following schema is the result of the transformation:

    "Products_ProductName": string
    "Products_UnitPrice" : string
    
    See Also