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
TKey
Key type for the data source, must be not null.
TData
Data type for the data source, must implement IData interface.
TLoader
Loader 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
filePath
stringFile path where the data source is located.
fileName
stringFile name of the data source, without extension.
extension
stringFile extension of the data source, default is "json".
autoCreateFile
boolIndicates 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
database
IDatabase<TKey, TData>
Load(IDatabase<TKey, TData>, TLoader)
public override void Load(IDatabase<TKey, TData> database, TLoader loader)
Parameters
database
IDatabase<TKey, TData>loader
TLoader
Verify(IDatabase<TKey, TData>)
public override void Verify(IDatabase<TKey, TData> database)
Parameters
database
IDatabase<TKey, TData>