EasyDatabase 4.0.0
dotnet add package EasyDatabase --version 4.0.0
NuGet\Install-Package EasyDatabase -Version 4.0.0
<PackageReference Include="EasyDatabase" Version="4.0.0" />
paket add EasyDatabase --version 4.0.0
#r "nuget: EasyDatabase, 4.0.0"
// Install EasyDatabase as a Cake Addin #addin nuget:?package=EasyDatabase&version=4.0.0 // Install EasyDatabase as a Cake Tool #tool nuget:?package=EasyDatabase&version=4.0.0
EasyDatabase
Description
Straightforward database for .NET applications which helps you store data with minimal overhead.
Usage
All POCO entities must implement interface 'IEntity'
public class Animal : IEntity
{
// From IEntity
public Guid Id { get; set; } = Guid.NewGuid();
public int NumberOfLegs { get; set; }
}
ASP.NET Core
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.UseEasyDatabase();
}
Test.cs
public class Test
{
private readonly Storage _storage;
public Test(Storage storage)
{
_storage = storage;
}
}
Others
Test.cs
public class Test
{
private readonly Storage _storage;
public Test()
{
_storage = StorageFactory.GetStorage();
}
}
Example
public class Test
{
private readonly Storage _storage;
public Test(Storage storage)
{
_storage = storage;
}
public async Task SomeMethod()
{
await _storage.AddOrUpdate(new Animal());
var results = await _storage.Get<Animal>();
await _storage.Delete<Animal>(results);
}
}
Configurations
While initialization you can override default configurations, in this time we are talking about cacheConfiguration and repository.
Lazy caching can be enabled if necessary.
public class CacheConfiguration
{
public CacheConfiguration(CacheType? type = null, TimeSpan? offset = null)
{
Type = type;
Offset = offset;
}
public bool IsEnabled => Type.HasValue && Offset.HasValue;
public CacheType? Type { get; }
public TimeSpan? Offset { get; }
}
Is also possible to implement your own repository over interface IRepository. As default is used FileRepository which store data in JSON files in your project.
public interface IRepository
{
Task<T> ReadEntity<T>(Guid id) where T : IEntity;
Task<IEnumerable<T>> ReadEntities<T>() where T : IEntity;
Task WriteEntity<T>(T entity) where T : IEntity;
Task DeleteEntity<T>(Guid id) where T : IEntity;
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Caching.Memory (>= 3.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.0.0)
- Newtonsoft.Json (>= 11.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.