Namespace ToSic.Eav.DataSources
DataSources are objects which deliver one or many DataStreams, which contain a bunch of content-items. They are then attached to each other (from one sources Out
to another ones In
) creating a Query
. Queries can be customized at will. The whole system is used to prepare/process data for views, WebApi or anything else.
In most cases there will be a VisualQuery which connects all the parts automatically, but when you want to work with them programatically, here you'll find the API.
Note
We've hidden the constructors for all DataSource objects in these docs, because you should usually use the CreateSource<T>(...)
command on the Razor template or WebApi, which will auto-configure things behind the scenes.
Tip
Read about DataSources here. It also explains how the configuration system works and how to create custom DataSources to deliver your data to EAV/2sxc.
Namespaces
Classes
- App
All the data inside an App.
For example, it has a variable amount of Out-streams, one for each content-type in the app.
- AppRoot
The App Root is the entry point for all data. It takes its data from a hidden AppState Cache. It's implemented as a DataSource so that other DataSources can easily attach to it.
This is also the object returned as the root in any query.
- AttributeFilter
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- AttributeRename
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- Children
Get Children Entities (child-relationships) of the Entities coming into this DataSource
- Csv
DataSource for importing/reading CSV files.
- DataTable
Provide Entities from a System.Data.DataTable.
This is not meant for VisualQuery, but for code which pre-processes data in a DataTable and then wants to provide it as entities.
- EntityIdFilter
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- EntityTypeFilter
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- Error
Internal DataSource to generate an error on purpose. This is to test / verify error handling in VisualQuery. See also VisualQuery 3: Debugging
- ItemFilterDuplicates
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- LanguageModeler
Remodels multi-language values in own fields (like NameDe, NameEn) to single multi-language fields like Name
- Metadata
Get Metadata (metadata Entities) of the Entities coming into this DataSource
- MetadataTargets
Get Target Entities (metadata targets) of the Entities coming into this DataSource
- OwnerFilter
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- Paging
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- Parents
Get Parent Entities (parent-relationships) of the Entities coming into this DataSource
- PassThrough
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- PublishingFilter
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- QueryRun
Run another query and provide the resulting data. The settings will provide the params for the inner query.
- RelationshipFilter
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- Serialization
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- Shuffle
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- Sql
Provide Entities from a SQL Server
- StreamFallback
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- StreamMerge
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- StreamPick
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- TreeModeler
Use this to take imported data from elsewhere which is a table but would have a tree-like structure (folders, etc.). Tell it where/how the relationships are mapped, and it will create Entities that have navigable relationships for this.
- ValueFilter
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
- ValueSort
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
Interfaces
- IAppRoot
Interface for the App Root - usually the very first node in any data-delivery or query.
It's just like a normal IDataSource but will internally access the IAppReader from the Cache/>.