Show / Hide Table of Contents

    Interface IQueryStructure

    Dynamic query structure interface

    Namespace: XData.Mapping.Dynamic
    Assembly: XData.docfx.dll
    Syntax
    public interface IQueryStructure

    Methods

    | Improve this Doc View Source

    AddFilters(String, Expression<Func<IInnerFilterAdapter, IFilterDescription>>[])

    Add dynamic filters

    Declaration
    IQueryStructure AddFilters(string alias, params Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String alias

    Source alias

    Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters

    Dynamic filters

    Returns
    Type Description
    IQueryStructure
    | Improve this Doc View Source

    Call(IDataScope, Variable[])

    Dynamic procedure call with no result set

    Declaration
    IDataQuery Call(IDataScope dataScope, params Variable[] variables)
    Parameters
    Type Name Description
    IDataScope dataScope

    Data scope

    Variable[] variables

    Data object variables

    Returns
    Type Description
    IDataQuery

    Procedure call result

    Remarks

    Hint: Use variables as parameter values

    Hint: To pass binary parameters use Base64 string value

    Hint: To pass UDT parameters use Xml-serialized value of mapped type

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryDescription<T>
    IQueryStructureAdapter
    | Improve this Doc View Source

    Call<TResult>(IDataScope, String, Variable[])

    Dynamic procedure call

    Declaration
    IDataQuery<TResult> Call<TResult>(IDataScope dataScope, string resultSetName, params Variable[] variables)
        where TResult : class
    Parameters
    Type Name Description
    IDataScope dataScope

    Data scope

    String resultSetName

    Base result set name

    Variable[] variables

    Data object variables

    Returns
    Type Description
    IDataQuery<TResult>

    Procedure call result

    Type Parameters
    Name Description
    TResult

    Dynamic query result type

    Remarks

    Hint: Use variables as parameter values

    Hint: To pass binary parameters use Base64 string value

    Hint: To pass UDT parameters use Xml-serialized value of mapped type

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryDescription<T>
    IQueryStructureAdapter
    | Improve this Doc View Source

    Column<TResult>(String, Expression<Func<IQueryStructureAdapter, TResult>>)

    Dynamic query hidden property mapping

    Declaration
    IQueryStructure Column<TResult>(string name, Expression<Func<IQueryStructureAdapter, TResult>> mapper)
    Parameters
    Type Name Description
    String name

    Hidden property name

    Expression<Func<IQueryStructureAdapter, TResult>> mapper

    Property mapping expression

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    TResult
    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryStructureAdapter
    | Improve this Doc View Source

    DataTable(String, String, Expression<Func<IInnerFilterAdapter, IFilterDescription>>[])

    Dynamic query table mapping

    Declaration
    IQueryStructure DataTable(string name, string alias, params Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String name

    Table name

    String alias

    Table alias

    Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters

    Filters and links applied to table

    Returns
    Type Description
    IQueryStructure

    Query structure

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription
    | Improve this Doc View Source

    Distinct()

    Dynamic query distinct modificator

    Declaration
    IQueryStructure Distinct()
    Returns
    Type Description
    IQueryStructure

    Query structure

    | Improve this Doc View Source

    Hint(String, String, HintType)

    Dynamic query data source hint

    Declaration
    IQueryStructure Hint(string alias, string hint, HintType hintType = HintType.Select)
    Parameters
    Type Name Description
    String alias

    Data source alias

    String hint

    Hint

    HintType hintType

    Hint type

    Returns
    Type Description
    IQueryStructure

    Query structure

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    | Improve this Doc View Source

    InnerView(String, Type, Expression<Func<ISubqueryLinkAdapter, IFilterDescription>>[])

    Dynamic query inner view mapping

    Declaration
    IQueryStructure InnerView(string alias, Type innerViewType, params Expression<Func<ISubqueryLinkAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String alias

    Inner view alias

    Type innerViewType

    Inner view statically mapped type

    Expression<Func<ISubqueryLinkAdapter, IFilterDescription>>[] filters

    Filters and links applied to inner view

    Returns
    Type Description
    IQueryStructure

    Query structure

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription
    | Improve this Doc View Source

    InnerView<TInnerView>(String, Expression<Func<ISubqueryLinkAdapter<TInnerView>, IFilterDescription>>[])

    Dynamic query inner view mapping

    Declaration
    IQueryStructure InnerView<TInnerView>(string alias, params Expression<Func<ISubqueryLinkAdapter<TInnerView>, IFilterDescription>>[] filters)
        where TInnerView : class
    Parameters
    Type Name Description
    String alias

    Inner view alias

    Expression<Func<ISubqueryLinkAdapter<TInnerView>, IFilterDescription>>[] filters

    Filters and links applied to inner view

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    TInnerView

    Inner view statically mapped type

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription
    | Improve this Doc View Source

    InnerView<TInnerView>(String, IQueryDescription<TInnerView>, Expression<Func<ISubqueryLinkAdapter<TInnerView>, IFilterDescription>>[])

    Dynamic query inner view mapping

    Declaration
    IQueryStructure InnerView<TInnerView>(string alias, IQueryDescription<TInnerView> sub, params Expression<Func<ISubqueryLinkAdapter<TInnerView>, IFilterDescription>>[] filters)
        where TInnerView : class
    Parameters
    Type Name Description
    String alias

    Inner view alias

    IQueryDescription<TInnerView> sub

    Inner view query structure

    Expression<Func<ISubqueryLinkAdapter<TInnerView>, IFilterDescription>>[] filters

    Filters and links applied to inner view

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    TInnerView
    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryDescription
    IFilterDescription
    | Improve this Doc View Source

    Limit(Int32)

    Dynamic query limit count modificator

    Declaration
    IQueryStructure Limit(int count)
    Parameters
    Type Name Description
    Int32 count

    Limit records count

    Returns
    Type Description
    IQueryStructure

    Query structure

    | Improve this Doc View Source

    Map<TResult>(Expression<Func<IRepositoryStructureAdapter<TResult>, TResult>>, Expression<Func<IRepositoryStructureAdapter<TResult>, IExternalLinkDefinition>>[])

    Dynamic repository mapping

    Declaration
    IRepositoryDescription<TResult> Map<TResult>(Expression<Func<IRepositoryStructureAdapter<TResult>, TResult>> mapper, params Expression<Func<IRepositoryStructureAdapter<TResult>, IExternalLinkDefinition>>[] externalLinks)
        where TResult : class, IDataObject, new()
    Parameters
    Type Name Description
    Expression<Func<IRepositoryStructureAdapter<TResult>, TResult>> mapper

    Mapping expression

    Expression<Func<IRepositoryStructureAdapter<TResult>, IExternalLinkDefinition>>[] externalLinks

    External link descriptions

    Returns
    Type Description
    IRepositoryDescription<TResult>

    Dynamic repository description

    Type Parameters
    Name Description
    TResult

    Dynamic repository type

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryDescription<T>
    IQueryStructureAdapter
    | Improve this Doc View Source

    Parameter<T>(String, Int32, String, DbType, Expression<Func<IProcedureParameterAdapter, IProcedureParameterFlag>>[])

    Dynamic query procedure parameter mapping

    Declaration
    IQueryStructure Parameter<T>(string alias, int order, string binding, DbType type, params Expression<Func<IProcedureParameterAdapter, IProcedureParameterFlag>>[] attributes)
    Parameters
    Type Name Description
    String alias

    Procedure alias

    Int32 order

    Parameter order

    String binding

    Parameter value binding

    DbType type

    Parameter SQL data type

    Expression<Func<IProcedureParameterAdapter, IProcedureParameterFlag>>[] attributes

    Parameter mapping attributes

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    T

    Parameter data type

    | Improve this Doc View Source

    Procedure(String, String, ProcedureType, Expression<Func<IInnerFilterAdapter, IFilterDescription>>[])

    Dynamic query procedure mapping

    Declaration
    IQueryStructure Procedure(string alias, string name, ProcedureType type, params Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String alias

    Procedure alias

    String name

    Procedure name

    ProcedureType type

    Procedure type

    Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters

    Filters and links applied to table

    Returns
    Type Description
    IQueryStructure

    Query structure

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription
    | Improve this Doc View Source

    Return<T>(String, String, Int32, Expression<Func<IQueryStructureAdapter, T>>)

    Dynamic query procedure result set mapping

    Declaration
    IQueryStructure Return<T>(string alias, string name, int order, Expression<Func<IQueryStructureAdapter, T>> mapper = null)
        where T : class
    Parameters
    Type Name Description
    String alias

    Procedure alias

    String name

    Result set name

    Int32 order

    Result set order

    Expression<Func<IQueryStructureAdapter, T>> mapper

    Result set mapper

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    T

    Parameter data type

    | Improve this Doc View Source

    Select<TResult>()

    Dynamic query result mapping using statically mapped data

    Declaration
    IQueryDescription<TResult> Select<TResult>()
        where TResult : class, IDataObject, new()
    Returns
    Type Description
    IQueryDescription<TResult>

    Dynamic query description

    Type Parameters
    Name Description
    TResult

    Dynamic query result type

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryDescription<T>
    IQueryStructureAdapter
    | Improve this Doc View Source

    Select<TResult>(Expression<Func<IQueryStructureAdapter, TResult>>)

    Dynamic query result mapping

    Declaration
    IQueryDescription<TResult> Select<TResult>(Expression<Func<IQueryStructureAdapter, TResult>> mapper)
        where TResult : class
    Parameters
    Type Name Description
    Expression<Func<IQueryStructureAdapter, TResult>> mapper

    Mapping expression

    Returns
    Type Description
    IQueryDescription<TResult>

    Dynamic query description

    Type Parameters
    Name Description
    TResult

    Dynamic query result type

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryDescription<T>
    IQueryStructureAdapter
    | Improve this Doc View Source

    Skip(Int32)

    Dynamic query skip count modificator

    Declaration
    IQueryStructure Skip(int count)
    Parameters
    Type Name Description
    Int32 count

    Skip records count

    Returns
    Type Description
    IQueryStructure

    Query structure

    | Improve this Doc View Source

    Subquery(String, Type, String, DataGrouping, Expression<Func<ISubqueryLinkAdapter, IFilterDescription>>[])

    Dynamic query subquery mapping

    Declaration
    IQueryStructure Subquery(string alias, Type subqueryType, string property, DataGrouping grouping = DataGrouping.None, params Expression<Func<ISubqueryLinkAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String alias

    Subquery alias

    Type subqueryType

    Subquery statically mapped type

    String property

    Subquery selected property

    DataGrouping grouping

    Subquery selected property aggregate function

    Expression<Func<ISubqueryLinkAdapter, IFilterDescription>>[] filters

    Filters and links applied to subquery

    Returns
    Type Description
    IQueryStructure

    Query structure

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription
    | Improve this Doc View Source

    Subquery<TSubquery>(String, Expression<Func<TSubquery, Object>>, DataGrouping, Expression<Func<ISubqueryLinkAdapter<TSubquery>, IFilterDescription>>[])

    Dynamic query subquery mapping

    Declaration
    IQueryStructure Subquery<TSubquery>(string alias, Expression<Func<TSubquery, object>> property, DataGrouping grouping = DataGrouping.None, params Expression<Func<ISubqueryLinkAdapter<TSubquery>, IFilterDescription>>[] filters)
        where TSubquery : class
    Parameters
    Type Name Description
    String alias

    Subquery alias

    Expression<Func<TSubquery, Object>> property

    Subquery selected property expression

    DataGrouping grouping

    Subquery selected property aggregate function

    Expression<Func<ISubqueryLinkAdapter<TSubquery>, IFilterDescription>>[] filters

    Filters and links applied to subquery

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    TSubquery

    Subquery statically mapped type

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription
    | Improve this Doc View Source

    Subquery<TSubquery>(String, IQueryDescription<TSubquery>, String, DataGrouping, Expression<Func<ISubqueryLinkAdapter<TSubquery>, IFilterDescription>>[])

    Dynamic query subquery mapping

    Declaration
    IQueryStructure Subquery<TSubquery>(string alias, IQueryDescription<TSubquery> sub, string property, DataGrouping grouping = DataGrouping.None, params Expression<Func<ISubqueryLinkAdapter<TSubquery>, IFilterDescription>>[] filters)
        where TSubquery : class
    Parameters
    Type Name Description
    String alias

    Subquery alias

    IQueryDescription<TSubquery> sub

    Subquery query structure

    String property

    Subquery selected property

    DataGrouping grouping

    Subquery selected property aggregate function

    Expression<Func<ISubqueryLinkAdapter<TSubquery>, IFilterDescription>>[] filters

    Filters and links applied to subquery

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    TSubquery
    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IQueryDescription
    DataGrouping
    IFilterDescription
    | Improve this Doc View Source

    TempTable(String, String, Expression<Func<IInnerFilterAdapter, IFilterDescription>>[])

    Dynamic query temporary table mapping

    Declaration
    IQueryStructure TempTable(string name, string alias, params Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String name

    Temporary table data variable name

    String alias

    Temporary table data source alias

    Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters

    Filters and links applied to temporary table data source

    Returns
    Type Description
    IQueryStructure

    Query structure

    Remarks

    Data passed to query as variable with name equals name of temporary table data source

    Variable value must to be DataTable

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription
    | Improve this Doc View Source

    With<TRoot>(String, IQueryDescription<TRoot>, Expression<Func<IQueryWithAdapter<TRoot>, IQueryWithFlag>>[])

    Dynamic query Common-Table-Expression (WITH) subquery mapping

    Declaration
    IQueryStructure With<TRoot>(string alias, IQueryDescription<TRoot> sub, params Expression<Func<IQueryWithAdapter<TRoot>, IQueryWithFlag>>[] attributes)
        where TRoot : class
    Parameters
    Type Name Description
    String alias

    Common-Table-Expression (WITH) subquery alias

    IQueryDescription<TRoot> sub

    Common-Table-Expression (WITH) initial subquery description

    Expression<Func<IQueryWithAdapter<TRoot>, IQueryWithFlag>>[] attributes

    Common-Table-Expression (WITH) attributes

    Returns
    Type Description
    IQueryStructure

    Query structure

    Type Parameters
    Name Description
    TRoot

    Common-Table-Expression (WITH) initial subquery mapped type

    | Improve this Doc View Source

    XmlSource(String, String, String, Expression<Func<IInnerFilterAdapter, IFilterDescription>>[])

    Dynamic query XML data source mapping

    Declaration
    IQueryStructure XmlSource(string name, string alias, string xmlRoot, params Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String name

    XML data variable name

    String alias

    XML data source alias

    String xmlRoot

    XML data root XPath expression

    Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters

    Filters and links applied to XML data source

    Returns
    Type Description
    IQueryStructure

    Query structure

    Remarks

    XML data passed to query as variable with name equals name of XML data source

    Variable value must to be a String

    See Also
    GetStructure(String, String, DataStructureFlag, Variable[])
    IQueryStructure
    IFilterDescription

    Extension Methods

    SerializationExtensions.ToXml<T>(T)
    CollectionsExtensions.SetValue<TKey, T>(TKey, T)
    CollectionsExtensions.AsEnum<T>(T)
    DataObjectQueryableExtensions.CompareVariable(Object, FilterOperation, String)
    Processing.Do<T>(T, Action<IProcess<T>>[])
    TypeExtensions.TryConvert<T, TResult>(T, Func<T, TResult>)
    TypeExtensions.TryConvert<T, TResult>(T, Func<T, TResult>, TResult)
    TypeExtensions.ChangeType<T>(Object)
    TypeExtensions.ChangeType(Object, Type)
    TypeExtensions.InvokeMethod<TRet>(Object, Type[], Expression<Func<TRet>>, BindingFlags)
    TypeExtensions.InvokeMethod(Object, Type[], Expression<Action>, BindingFlags)
    TypeExtensions.InvokeMethod<TRet>(Object, Expression<Func<TRet>>, BindingFlags)
    TypeExtensions.InvokeMethod(Object, Expression<Action>, BindingFlags)
    SqlBlockExtensions.SetExpression<TTag, TResult>(TTag, Expression<Func<IBlockQueryAdapter, TResult>>)
    QueryDescriptionExtensions.SetExpression<TTag, TResult>(TTag, Expression<Func<IQueryStructureAdapter, TResult>>)

    See Also

    GetStructure(String, String, DataStructureFlag, Variable[])
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX