corelibraries-devexpress-dot-dataaccess-dot-datafederation-dot-federationdatasourcebase.md
Provides access to federated queries contained in the data source.
Namespace : DevExpress.DataAccess.DataFederation
Assembly : DevExpress.DataAccess.v25.2.dll
NuGet Package : DevExpress.DataAccess
public QueryNodeCollection Queries { get; }
Public ReadOnly Property Queries As QueryNodeCollection
| Type | Description |
|---|---|
| QueryNodeCollection |
A collection of federated data queries.
|
This code snippet demonstrates how to create a federated data source that contains two queries. The SelectNodeBuilder‘s Fluent API is used to construct a federated query.
Note
The complete sample project How to Create a Federated Data Source at Runtime is available in the DevExpress Examples repository.
using DevExpress.DataAccess.DataFederation;
// ...
FederationDataSource federation = new FederationDataSource();
Source sourceProducts = new Source("Products", CreateSqlDataSource(), "Products");
Source sourceOrderDetail = new Source("OrderDetail", CreateExcelDataSource("SalesPerson.xlsx", "Data"));
Source sourceHeader = new Source("OrderHeader", CreateExcelDataSource("OrderHeaders.xlsx", "OrderHeader"));
SelectNode query1 = sourceProducts.From().Select("ProductName", "QuantityPerUnit", "UnitsInStock")
.Join(sourceOrderDetail, "[Products.ProductName] = [OrderDetail.ProductName]")
.Select("OrderDate")
.Build("ProductsOrderDetail");
SelectNode query2 = sourceHeader.From().Select("OrderID", "Status", "Description")
.Join(sourceOrderDetail, "[OrderHeader.OrderID] = [OrderDetail.OrderID]")
.Select("Quantity", "Extended Price")
.Build("OrderHeaderOrderDetail");
federation.Queries.AddRange(new[] { query1, query2 });
federation.Fill()
Imports DevExpress.DataAccess.DataFederation
' ...
Dim federation As New FederationDataSource()
Dim sourceProducts As New Source("Products", CreateSqlDataSource(), "Products")
Dim sourceOrderDetail As New Source("OrderDetail", CreateExcelDataSource("SalesPerson.xlsx", "Data"))
Dim sourceHeader As New Source("OrderHeader", CreateExcelDataSource("OrderHeaders.xlsx", "OrderHeader"))
Dim query1 As SelectNode = sourceProducts.From().
Select("ProductName", "QuantityPerUnit", "UnitsInStock").
Join(sourceOrderDetail, "[Products.ProductName] = [OrderDetail.ProductName]").
Select("OrderDate").
Build("ProductsOrderDetail")
Dim query2 As SelectNode = sourceHeader.From().
Select("OrderID", "Status", "Description").
Join(sourceOrderDetail, "[OrderHeader.OrderID] = [OrderDetail.OrderID]").
Select("Quantity", "Extended Price").
Build("OrderHeaderOrderDetail")
federation.Queries.AddRange( { query1, query2 })
federation.Fill()
See Also
FederationDataSourceBase Class