Inheritance
ExtraTableProvider
Assembly: SoDataBase.dll
[ArchiveProvider("ExtraTable", 1073741823)]
public class ExtraTableProvider : QueryProviderBase<ArchiveRow>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Constructors
Declaration
protected ExtraTableProvider(string tableName)
Parameters
Type |
Name |
Description |
string |
tableName |
|
Fields
Declaration
public const string ProviderName = "ExtraTable"
Field Value
Properties
The primary table of this archive provider, from the derived class
Declaration
public override TableInfo PrimaryTable { get; }
Property Value
Overrides
The main query of this archive provider, from the derived class
Declaration
public override ArchiveSelect Query { get; }
Property Value
Overrides
Implement this property to return the extender(s) that form the root of the query tree, or null if that
is not meaningful. This property is used by the dynamic column processing, which will fail and throw
an exception if null is returned here (no problem if dynamic column syntax is not used)
Declaration
protected override List<IArchiveExtender> RootExtenders { get; }
Property Value
Overrides
Methods
Return the entity name of the current row. The default implementation statically assigns the name of
the first registered entity to all rows. Subclasses may override this method if they wish to set other
entity names, possibly dependent on data.
Declaration
protected override string GetEntityName(SoDataReader _)
Parameters
Returns
Type |
Description |
string |
Entity name
|
Overrides
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
Set the restriction by calling the base class and InnerSetRestriction; take this opportunity to note
that a restriction has actually been set, so we can report cases of totally missing restrictions
(which is not acceptable as it might end up fetching the whole database)
Declaration
public override bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Returns
Overrides
Implements
Extension Methods