Class FileDataSource<TKey, TData, TLoader>
Represents a file-based data source for a database.
public abstract class FileDataSource<TKey, TData, TLoader> : MapDataSource<TKey, TData, TLoader>, IDataSource<TKey, TData, TLoader>, IDataSource<TKey, TData>, IDataSource, IDataCrud, IDataCrud<TKey, TData> where TKey : notnull where TData : IData where TLoader : IDataStreamLoader<TKey, TData>
Type Parameters
TKeyKey type for the data source, must be not null.
TDataData type for the data source, must implement IData interface.
TLoaderLoader type for the data source, must implement IDataStreamLoader interface.
- Inheritance
-
DataSource<TKey, TData, TLoader>MapDataSource<TKey, TData, TLoader>FileDataSource<TKey, TData, TLoader>
- Implements
-
IDataSource<TKey, TData, TLoader>IDataSource<TKey, TData>IDataCrud<TKey, TData>
- Inherited Members
- Extension Methods
Constructors
FileDataSource(string, string?, string?, bool)
Represents a file-based data source for a database.
protected FileDataSource(string filePath, string? fileName = null, string? extension = "json", bool autoCreateFile = true)
Parameters
filePathstringFile path where the data source is located.
fileNamestringFile name of the data source, without extension.
extensionstringFile extension of the data source, default is "json".
autoCreateFileboolIndicates whether to automatically create the file if it does not exist.
Properties
AutoCreateFile
public bool AutoCreateFile { get; }
Property Value
Extension
public string? Extension { get; }
Property Value
FileName
public string? FileName { get; set; }
Property Value
FilePath
public string FilePath { get; set; }
Property Value
IgnoreMissingFile
public virtual bool IgnoreMissingFile { get; }
Property Value
Methods
GetFullFilePath()
Gets the full file path for the data source.
public string GetFullFilePath()
Returns
- string
Full file path as a string.
Exceptions
Initialize(IDatabase<TKey, TData>)
public override void Initialize(IDatabase<TKey, TData> database)
Parameters
databaseIDatabase<TKey, TData>
Load(IDatabase<TKey, TData>, TLoader)
public override void Load(IDatabase<TKey, TData> database, TLoader loader)
Parameters
databaseIDatabase<TKey, TData>loaderTLoader
Verify(IDatabase<TKey, TData>)
public override void Verify(IDatabase<TKey, TData> database)
Parameters
databaseIDatabase<TKey, TData>