Show / Hide Table of Contents

    Interface IRepositoryStructure<T>

    Repository structure descriptor

    Namespace: XData.Mapping.Dynamic
    Assembly: XData.docfx.dll
    Syntax
    public interface IRepositoryStructure<T>
        where T : class, ISqlObject, new()
    Type Parameters
    Name Description
    T

    Data object type

    Methods

    | Improve this Doc View Source

    Column<TResult>(String, Expression<Func<IRepositoryStructureAdapter<T>, TResult>>)

    Dynamic repository hidden property mapping

    Declaration
    IRepositoryStructure<T> Column<TResult>(string name, Expression<Func<IRepositoryStructureAdapter<T>, TResult>> mapper)
    Parameters
    Type Name Description
    String name

    Hidden property name

    Expression<Func<IRepositoryStructureAdapter<T>, TResult>> mapper

    Property mapping expression

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

    Type Parameters
    Name Description
    TResult

    Hidden property type

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

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

    Dynamic repository table mapping

    Declaration
    IRepositoryStructure<T> 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
    IRepositoryStructure<T>

    Query structure

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

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

    Dynamic repository table mapping

    Declaration
    IRepositoryStructure<T> DataTable(string name, string alias, string parent = null, params Expression<Func<IInnerFilterAdapter, IFilterDescription>>[] filters)
    Parameters
    Type Name Description
    String name

    Table name

    String alias

    Table alias

    String parent

    Parent table alias

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

    Filters and links applied to table

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

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

    Distinct()

    Dynamic repository distinct modificator

    Declaration
    IRepositoryStructure<T> Distinct()
    Returns
    Type Description
    IRepositoryStructure<T>

    Query structure

    | Improve this Doc View Source

    Hint(String, String, HintType)

    Dynamic repository data source hint

    Declaration
    IRepositoryStructure<T> 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
    IRepositoryStructure<T>

    Repository structure

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

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

    Dynamic repository inner view mapping

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

    Inner view alias

    Type innerViewType

    Inner view statically mapped type

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

    Filters and links applied to inner view

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

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

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

    Dynamic repository inner view mapping

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

    Inner view alias

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

    Filters and links applied to inner view

    Returns
    Type Description
    IRepositoryStructure<T>

    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<T, TInnerView>, IFilterDescription>>[])

    Dynamic repository inner view mapping

    Declaration
    IRepositoryStructure<T> InnerView<TInnerView>(string alias, IQueryDescription<TInnerView> sub, params Expression<Func<ISubqueryLinkAdapter<T, 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<T, TInnerView>, IFilterDescription>>[] filters

    Filters and links applied to inner view

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

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

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

    Dynamic repository inner view mapping

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

    Inner view alias

    Variable[] variables

    Inner view variables

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

    Filters and links applied to inner view

    Returns
    Type Description
    IRepositoryStructure<T>

    Query structure

    Type Parameters
    Name Description
    TInnerView

    Inner view statically mapped type

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

    Limit(Int32)

    Dynamic repository limit count modificator

    Declaration
    IRepositoryStructure<T> Limit(int count)
    Parameters
    Type Name Description
    Int32 count

    Limit records count

    Returns
    Type Description
    IRepositoryStructure<T>

    Query structure

    | Improve this Doc View Source

    Map(Expression<Func<IExternalLinkDefinitionAdapter<T>, IExternalLinkDefinition>>[])

    Dynamic repository properties mapping

    Declaration
    IRepositoryDescription<T> Map(params Expression<Func<IExternalLinkDefinitionAdapter<T>, IExternalLinkDefinition>>[] externalLinks)
    Parameters
    Type Name Description
    Expression<Func<IExternalLinkDefinitionAdapter<T>, IExternalLinkDefinition>>[] externalLinks

    External link descriptions

    Returns
    Type Description
    IRepositoryDescription<T>

    Dynamic repository description

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

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

    Dynamic repository properties mapping

    Declaration
    IRepositoryDescription<T> Map(Expression<Func<IRepositoryStructureAdapter<T>, T>> mapper, params Expression<Func<IExternalLinkDefinitionAdapter<T>, IExternalLinkDefinition>>[] externalLinks)
    Parameters
    Type Name Description
    Expression<Func<IRepositoryStructureAdapter<T>, T>> mapper

    Mapping expression

    Expression<Func<IExternalLinkDefinitionAdapter<T>, IExternalLinkDefinition>>[] externalLinks

    External link descriptions

    Returns
    Type Description
    IRepositoryDescription<T>

    Dynamic repository description

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

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

    Dynamic repository procedure parameter mapping

    Declaration
    IRepositoryStructure<T> Parameter<TResult>(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 attributes

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

    Type Parameters
    Name Description
    TResult

    Parameter data type

    | Improve this Doc View Source

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

    Dynamic repository procedure mapping

    Declaration
    IRepositoryStructure<T> 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
    IRepositoryStructure<T>

    Repository structure

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

    ReadOnlyProperty<TResult>(Expression<Func<T, TResult>>, Expression<Func<IRepositoryStructureAdapter<T>, TResult>>)

    Dynamic repository read only properties mapping

    Declaration
    IRepositoryStructure<T> ReadOnlyProperty<TResult>(Expression<Func<T, TResult>> property, Expression<Func<IRepositoryStructureAdapter<T>, TResult>> mapper)
    Parameters
    Type Name Description
    Expression<Func<T, TResult>> property

    Property name expression

    Expression<Func<IRepositoryStructureAdapter<T>, TResult>> mapper

    Property mapping

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

    Type Parameters
    Name Description
    TResult

    Property type

    | Improve this Doc View Source

    Return(String)

    Dynamic repository procedure default result set mapping

    Declaration
    IRepositoryStructure<T> Return(string alias)
    Parameters
    Type Name Description
    String alias

    Procedure alias

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

    | Improve this Doc View Source

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

    Dynamic repository procedure result set mapping

    Declaration
    IRepositoryStructure<T> Return<TResult>(string alias, string name, int order, Expression<Func<IQueryStructureAdapter, T>> mapper = null)
        where TResult : 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
    IRepositoryStructure<T>

    Repository structure

    Type Parameters
    Name Description
    TResult

    Result set data type

    | Improve this Doc View Source

    Skip(Int32)

    Dynamic repository skip count modificator

    Declaration
    IRepositoryStructure<T> Skip(int count)
    Parameters
    Type Name Description
    Int32 count

    Skip records count

    Returns
    Type Description
    IRepositoryStructure<T>

    Query structure

    | Improve this Doc View Source

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

    Dynamic repository subquery mapping

    Declaration
    IRepositoryStructure<T> Subquery(string alias, Type subqueryType, string property, DataGrouping grouping = DataGrouping.None, params Expression<Func<ISubqueryLinkAdapter<T>, 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<T>, IFilterDescription>>[] filters

    Filters and links applied to subquery

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository 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<T, TSubquery>, IFilterDescription>>[])

    Dynamic repository subquery mapping

    Declaration
    IRepositoryStructure<T> Subquery<TSubquery>(string alias, Expression<Func<TSubquery, object>> property, DataGrouping grouping = DataGrouping.None, params Expression<Func<ISubqueryLinkAdapter<T, 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<T, TSubquery>, IFilterDescription>>[] filters

    Filters and links applied to subquery

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository 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, Expression<Func<TSubquery, Object>>, DataGrouping, Variable[], Expression<Func<ISubqueryLinkAdapter<T, TSubquery>, IFilterDescription>>[])

    Dynamic repository subquery mapping

    Declaration
    IRepositoryStructure<T> Subquery<TSubquery>(string alias, Expression<Func<TSubquery, object>> property, DataGrouping grouping, Variable[] variables, params Expression<Func<ISubqueryLinkAdapter<T, 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

    Variable[] variables

    Subquery variables

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

    Filters and links applied to subquery

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

    Type Parameters
    Name Description
    TSubquery

    Subquery statically mapped type

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

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

    Dynamic repository subquery mapping

    Declaration
    IRepositoryStructure<T> Subquery<TSubquery>(string alias, IQueryDescription<TSubquery> sub, string property, DataGrouping grouping = DataGrouping.None, params Expression<Func<ISubqueryLinkAdapter<T, 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<T, TSubquery>, IFilterDescription>>[] filters

    Filters and links applied to subquery

    Returns
    Type Description
    IRepositoryStructure<T>

    Repository structure

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

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

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

    Declaration
    IRepositoryStructure<T> 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
    IRepositoryStructure<T>

    Repository structure

    Type Parameters
    Name Description
    TRoot

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

    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>>)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX