Table of Contents
These v19 docs are archived 🔒. Go to the latest docs home or try if this exact page is available in the latest docs.

Class CustomDataSource

Namespace
ToSic.Eav.DataSource
Assembly
ToSic.Eav.DataSources.dll

Very lightweight DataSource base for data sources which are very simple and convention based.

[PublicApi]
public class CustomDataSource : CustomDataSourceAdvanced, IDataSource, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheKey, ICacheExpiring, ITimestamped, IHasLog, IDataSourceLinkable
Inheritance
object
ServiceBase
CustomDataSource
Implements
Derived
Inherited Members

Constructors

CustomDataSource(MyServices, string)

Constructor for creating a Custom DataSource.

protected CustomDataSource(CustomDataSource.MyServices services, string logName = null)

Parameters

services CustomDataSource.MyServices

All the needed services - see Convention: MyServices

logName string

Optional name for logging such as My.JsonDS

Properties

Immutable

Every new DataSource based on this is immutable.

public override bool Immutable { get; }

Property Value

bool

Methods

GetDefault()

protected virtual IEnumerable<IRawEntity> GetDefault()

Returns

IEnumerable<IRawEntity>

ProvideOut(Func<object>, NoParamOrder, string, Func<DataFactoryOptions>)

Provide data on the Out of this DataSource. This is a very generic version which takes any function that generates a list of something. Internally it will try to detect what the data was and convert it to the final format.

Note that the source must create a list (IEnumerable) of any of the following (all items must have the same type):

If you know what data type you're creating, you should look at the other ProvideOut* methods.

protected void ProvideOut(Func<object> data, NoParamOrder noParamOrder = default, string name = "Default", Func<DataFactoryOptions> options = null)

Parameters

data Func<object>
noParamOrder NoParamOrder

see Convention: Named Parameters

name string

optional name of the out-stream.

options Func<DataFactoryOptions>

Conversion options which are relevant for ToSic.Eav.Data.Raw.IRawEntity data