Dosaic.Plugins.Persistence.InMemory
1.0.17
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Dosaic.Plugins.Persistence.InMemory --version 1.0.17
NuGet\Install-Package Dosaic.Plugins.Persistence.InMemory -Version 1.0.17
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dosaic.Plugins.Persistence.InMemory" Version="1.0.17" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dosaic.Plugins.Persistence.InMemory --version 1.0.17
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Dosaic.Plugins.Persistence.InMemory, 1.0.17"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dosaic.Plugins.Persistence.InMemory as a Cake Addin #addin nuget:?package=Dosaic.Plugins.Persistence.InMemory&version=1.0.17 // Install Dosaic.Plugins.Persistence.InMemory as a Cake Tool #tool nuget:?package=Dosaic.Plugins.Persistence.InMemory&version=1.0.17
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Dosaic.Plugins.Persistence.InMemory
Dosaic.Plugins.Persistence.InMemory is a plugin
that allows other Dosaic components
to use the persistance repository abstractions with an in memory implementation for the repositories
.
Primary use cases are
- Prototyping
- Testing
Installation
To install the nuget package follow these steps:
dotnet add package Dosaic.Plugins.Persistence.InMemory
or add as package reference to your .csproj
<PackageReference Include="Dosaic.Plugins.Persistence.InMemory" Version="" />
Configuration in your plugin host
public class PluginReadme : IPluginEndpointsConfiguration, IPluginServiceConfiguration, IPluginApplicationConfiguration, IPluginControllerConfiguration, IPluginHealthChecksConfiguration
{
private readonly PluginReadmeTemplateConfig _pluginReadmeTemplateConfig;
public PluginReadme(PluginReadmeTemplateConfig pluginReadmeTemplateConfig)
{
_pluginReadmeTemplateConfig = pluginReadmeTemplateConfig;
}
public void ConfigureServices(IServiceCollection serviceCollection)
{
// the plugins does the following registrations
serviceCollection.AddSingleton(typeof(InMemoryStore));
serviceCollection.AddSingleton(typeof(IRepository<>), typeof(InMemoryRepository<>));
serviceCollection.AddSingleton(typeof(IReadRepository<>), typeof(InMemoryRepository<>));
// if you have other persistence plugins installted you'll
// need to register the explitict types which should be used/registered with this plugin
// otherwise the plugin load order will determine which persistence plugin will be used as a default for all
// types from Dosaic.Plugins.Persistence.Abstractions
}
}
Usage
You can use all of the registered types from the lib Dosaic.Plugins.Persistence.Abstractions
public interface IExampleService
{
void DoStuff();
}
public class ExampleService : IExampleService
{
private readonly PluginReadmeTemplateConfig _pluginReadmeTemplateConfig;
private readonly IReadRepository<MyPoco> _readRepository;
public ExampleService(PluginReadmeTemplateConfig pluginReadmeTemplateConfig, IReadRepository<MyPoco> readRepository)
{
_pluginReadmeTemplateConfig = pluginReadmeTemplateConfig;
_readRepository = readRepository;
}
public async Task DoStuff()
{
// for example
var result = await _readRepository.FindByIdAsync();
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- Chronos.Abstractions (>= 2.0.24)
- Dosaic.Hosting.Abstractions (>= 1.0.17)
- Dosaic.Plugins.Persistence.Abstractions (>= 1.0.17)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.