corelibraries-devexpress-dot-dataaccess-dot-datafederation-a9039372.md
Contains methods that allow you to create transformation-based queries to sources of the Federation Data Source.
Namespace : DevExpress.DataAccess.DataFederation
Assembly : DevExpress.DataAccess.v25.2.dll
NuGet Package : DevExpress.DataAccess
public class TransformationNodeBuilder
Public Class TransformationNodeBuilder
The following members return TransformationNodeBuilder objects:
The Federation Data Source allows you to combine data from multiple sources. Use the TransformationNodeBuilder class to unfold and/or flatten columns of these sources. To do this,
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 query1 = source1
.Transform()
.TransformColumn("Products")
.Build();
var query2 = source2
.Transform()
.TransformColumn("Products")
.Build();
var query = query1
.Union(query2)
.Build("ProductsUnited");
var federation = new FederationDataSource() {
Queries = { query }
};
Imports DevExpress.DataAccess.DataFederation
Imports DevExpress.DataAccess.Json
' ...
Dim source1 = New Source("Products1", jsonDataSource1)
Dim source2 = New Source("Products2", jsonDataSource2)
Dim query1 = source1.
Transform().
TransformColumn("Products").
Build()
Dim query2 = source2.
Transform().
TransformColumn("Products").
Build()
Dim query = query1.
Union(query2).
Build("ProductsUnited")
Dim federation = New FederationDataSource()
federation.Queries.Add(query)
The following schema is the result of the transformation:
"CategoryID": int
"Products_ProductName": string
"Products_UnitPrice" : string
Object TransformationNodeBuilder
See Also