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 SourceColumn<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
| Improve this Doc View SourceDataTable(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
| Improve this Doc View SourceDataTable(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
| Improve this Doc View SourceDistinct()
Dynamic repository distinct modificator
Declaration
IRepositoryStructure<T> Distinct()
Returns
Type | Description |
---|---|
IRepositoryStructure<T> | Query structure |
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
| Improve this Doc View SourceInnerView(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
| Improve this Doc View SourceInnerView<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
| Improve this Doc View SourceInnerView<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
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
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 |
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
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
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 |
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
| Improve this Doc View SourceReadOnlyProperty<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 |
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 |
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 |
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 |
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
| Improve this Doc View SourceSubquery<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
| Improve this Doc View SourceSubquery<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
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
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 |