Axolotl.Http
9.0.0
dotnet add package Axolotl.Http --version 9.0.0
NuGet\Install-Package Axolotl.Http -Version 9.0.0
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="Axolotl.Http" Version="9.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Axolotl.Http --version 9.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Axolotl.Http, 9.0.0"
#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 Axolotl.Http as a Cake Addin #addin nuget:?package=Axolotl.Http&version=9.0.0 // Install Axolotl.Http as a Cake Tool #tool nuget:?package=Axolotl.Http&version=9.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Axolotl
A personal shared library for various types of dotnet project types
NOTE: Issues can be created to improve documentation and fix errors
Sub-packages
- Axolotl:
- Axolotl.Http:
- Axolotl.EFCore:
- Axolotl.Razor:
Install
The framework is provided as a set of NuGet packages. In many cases you'll only need the base package, but if you need efcore or razor there are implementation-specific packages available to assist.
To install the minimum requirements:
Install-Package Axolotl
Asp.Net Core Samples
Added required packages
Install-Package Axolotl
Install-Package Axolotl.EFCore
Install-Package Axolotl.AspNet
Add sample entity
public sealed class Post : AuditableEntity<Guid> {
public string Title { get; set; } = null!;
public Category Category { get; set; } = null!;
public ICollection<Tag> Tags { get; set; } = null!;
}
Create your DB context
public class ServiceContext : DbContext {
public ServiceContext(DbContextOptions<ServiceContext> options) : base(options) { }
protected override void OnModelCreating(ModelBuilder modelBuilder) { }
public virtual DbSet<Post> Posts { get; set; } = null!;
}
Create your generic repository and apply DbContext
public class GenericRepository<TEntity, TKey> : GenericBaseRepository<TEntity, ServiceContext, TKey>
where TEntity : class, IAggregateRoot, IHasKey<TKey>
where TKey : notnull {
public GenericRepository(ServiceContext context) : base(context) { }
}
Register your DB context & Unit of work
builder.Services.AddDbContext<ServiceContext>(options => options.UseSqlite());
builder.Services.RegisterUnitOfWork<ServiceContext>(pooled: false);
Register generic repository & service
builder.Services.RegisterGenericRepositories(typeof(GenericRepository<,>));
builder.Services.RegisterGenericServices();
Create optional filter specification
public sealed class CategorySpec : Specification<Post, Guid> {
public CategorySpec(IPageFilter filter) {
var search = filter.Search ?? string.Empty;
var text = search.ToLower().Split(" ").ToList().Select(x => x);
Query.Where(x => x.Title != String.Empty && x.Title.Length > 3 && text.Any(p => EF.Functions.Like(x.Title.ToLower(), $"%" + p + "%")))
.AsNoTracking()
.OrderBy(b => b.Title);
}
}
Create feature/endpoint
public class CategoryFeature : GenericFeature<CategoryFeature, Guid> {
public override IEndpointRouteBuilder MapEndpoints(IEndpointRouteBuilder endpoints) {
var state = new FeatureState(new List<RouteState> {
new (RouteType.GetAll, typeof(CategorySpec)),
new (RouteType.GetById),
new (RouteType.Create)
});
return SetupGroup<CategoryFeature, Category, Guid>(endpoints, state);
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 90 | 12/11/2024 |
8.0.5 | 155 | 1/22/2024 |
8.0.2 | 111 | 1/22/2024 |
8.0.1 | 139 | 1/13/2024 |
8.0.0 | 229 | 11/22/2023 |
8.0.0-rc.1 | 81 | 11/16/2023 |
8.0.0-preview.20 | 78 | 10/3/2023 |
8.0.0-preview.19 | 133 | 7/6/2023 |
8.0.0-preview.18 | 115 | 6/6/2023 |
8.0.0-preview.17 | 91 | 6/6/2023 |
8.0.0-preview.16 | 94 | 6/6/2023 |
8.0.0-preview.14 | 96 | 6/6/2023 |
8.0.0-preview.13 | 91 | 6/6/2023 |
8.0.0-preview.12 | 89 | 6/6/2023 |
8.0.0-preview.11 | 88 | 6/5/2023 |