Interface IArchiveProviderDynamicExtend
Interface used by extenders that can be part of a dot-syntax provider
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public interface IArchiveProviderDynamicExtend
Remarks
Dot syntax extenders offer columns, but have their joins generated by a parser that understands syntax like contact.associate_id.person_id.firstname. Such extenders must implement this interface, and be marked with a DynamicExtenderAttribute that defines which table the extender handles.
A dynamic extender must also implement IArchiveExtender.Methods
SetDynamicJoin(String, String, ArchiveJoinType)
Define the join relation between this extender and the parent.
Declaration
void SetDynamicJoin(string tableName, string fieldName, ArchiveJoinType joinType)
Parameters
Type | Name | Description |
---|---|---|
String | tableName | Name of the foreign key table |
String | fieldName | Name of the foreign key field |
ArchiveJoinType | joinType | Type of join |
Remarks
How the parent is specified is not part of this interface, see IArchiveProviderDoesExtend for that. This method is used to specify - without referring to table/field objects, because these are not known at the time of call - how this extender is linked to its parent. During the ModifyQuery phase of processing, this information will be used to instantiate a concrete join of some kind.
The table and field name specified here may be either a field handled by the parent (left outer join, inner join), or a field handled by this extender (right outer join, inner join). Implementations must examine their own and the parents' table to determine which direction is requested.