Axolotl.AspNet
9.0.0
dotnet add package Axolotl.AspNet --version 9.0.0
NuGet\Install-Package Axolotl.AspNet -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.AspNet" Version="9.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Axolotl.AspNet --version 9.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Axolotl.AspNet, 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.AspNet as a Cake Addin #addin nuget:?package=Axolotl.AspNet&version=9.0.0 // Install Axolotl.AspNet as a Cake Tool #tool nuget:?package=Axolotl.AspNet&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.
-
net8.0
- Axolotl (>= 9.0.0)
- Axolotl.EFCore (>= 9.0.0)
- Mapster (>= 7.4.0)
- Microsoft.AspNetCore.OpenApi (>= 8.0.11)
-
net9.0
- Axolotl (>= 9.0.0)
- Axolotl.EFCore (>= 9.0.0)
- Mapster (>= 7.4.0)
- Microsoft.AspNetCore.OpenApi (>= 9.0.0)
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 | 85 | 12/11/2024 |
8.0.5 | 158 | 1/22/2024 |
8.0.2 | 94 | 1/22/2024 |
8.0.1 | 131 | 1/13/2024 |
8.0.0 | 225 | 11/22/2023 |
8.0.0-rc.1 | 77 | 11/16/2023 |
8.0.0-preview.20 | 84 | 10/3/2023 |
8.0.0-preview.19 | 142 | 7/6/2023 |
8.0.0-preview.18 | 118 | 6/6/2023 |
8.0.0-preview.17 | 95 | 6/6/2023 |
8.0.0-preview.16 | 98 | 6/6/2023 |
8.0.0-preview.14 | 97 | 6/6/2023 |
8.0.0-preview.13 | 92 | 6/6/2023 |
8.0.0-preview.12 | 110 | 6/6/2023 |
8.0.0-preview.11 | 89 | 6/5/2023 |