Class RelationQueryProviderBase<SourceExtenderType, TargetExtenderType>
Inheritance
RelationQueryProviderBase<SourceExtenderType, TargetExtenderType>
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public abstract class RelationQueryProviderBase<SourceExtenderType, TargetExtenderType> : QueryProviderBase<ArchiveRow>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities where SourceExtenderType : IArchiveExtender, IRowNavigationHint, new() where TargetExtenderType : IArchiveExtender, IRowNavigationHint, new()
Type Parameters
| Name |
Description |
| SourceExtenderType |
|
| TargetExtenderType |
|
Constructors
RelationQueryProviderBase(bool)
Declaration
protected RelationQueryProviderBase(bool isReversed)
Parameters
| Type |
Name |
Description |
| bool |
isReversed |
|
Fields
_colAssociateId
Declaration
protected ArchiveColumnInfo _colAssociateId
Field Value
_colDirection
Declaration
protected ArchiveColumnInfo _colDirection
Field Value
_colProcessedName
Declaration
protected ArchiveColumnInfo _colProcessedName
Field Value
Declaration
protected ArchiveColumnInfo _colRelationComment
Field Value
_colRelationDefId
Declaration
protected ArchiveColumnInfo _colRelationDefId
Field Value
_colRelationId
Declaration
protected ArchiveColumnInfo _colRelationId
Field Value
_colRelationName
Declaration
protected ArchiveColumnInfo _colRelationName
Field Value
_colReversedName
Declaration
protected ArchiveColumnInfo _colReversedName
Field Value
_retiredPersonEntity
Declaration
protected const string _retiredPersonEntity = "retired"
Field Value
Declaration
protected const string _stoppedContactEntity = "stop"
Field Value
Properties
OriginalSourceExtender
Returns the extender originally passed in as the source type; if the subclass requests reversal, this will not be the active source
Declaration
protected SourceExtenderType OriginalSourceExtender { get; }
Property Value
| Type |
Description |
| SourceExtenderType |
|
OriginalTargetExtender
Returns the extender originally passed in as the target type; if the subclass requests reversal, this will not be the active target
Declaration
protected TargetExtenderType OriginalTargetExtender { get; }
Property Value
| Type |
Description |
| TargetExtenderType |
|
PrimaryTable
The primary table of this archive provider, from the derived class
Declaration
public override TableInfo PrimaryTable { get; }
Property Value
Overrides
Query
The main query of this archive provider, from the derived class
Declaration
public override ArchiveSelect Query { get; }
Property Value
Overrides
RootExtenders
Our root extenders, so the dynamic process can pick them up (we have two! so TypedQueryProviderBase is not a good base class)
Declaration
protected override List<IArchiveExtender> RootExtenders { get; }
Property Value
Overrides
Methods
InnerMapFieldsAsync(CancellationToken)
Override this method to map query fields to columns, add additional return fields to the query, and set up custom restriction handling
Declaration
public override Task InnerMapFieldsAsync(CancellationToken cancellationToken = default)
Parameters
Returns
Overrides
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Derived classes should implement the population of ColumnData items for columns
that are NOT handled by this base class in this method. Whether a column is handled by
this base class is part of its database binding information, set by the various MapXXX methods.
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
| Type |
Name |
Description |
| SoDataReader |
reader |
Data reader with the query result (one row)
|
| ArchiveRow |
row |
archive row to be populated
|
Overrides
RegisterRetiredPersonEntity()
Declaration
protected void RegisterRetiredPersonEntity()
Declaration
protected void RegisterStopContactEntity(bool showStopContactsMode)
Parameters
| Type |
Name |
Description |
| bool |
showStopContactsMode |
|
Implements
Extension Methods