EINFÜHRUNG · CORE-DATAeQuantic.Core.DataeQuantic.Core.Data erweitert die Kernbibliothek um die Abstraktionen, die der Datenzugriff braucht: eine Unit of Work, Repositories und die Abbildung zwischen gespeicherter Zeile und Domänenentität.
Überblick
Unit of Work, Repository-Muster und objektrelationale Abbildung greifen ineinander, sodass eine Transaktion mehrere Repositories umfasst und trotzdem einmal committet.Sie arbeitet mit verschiedenen Datenbankanbietern und Persistenzstrategien, und die Wahl des Anbieters bleibt in der Konfiguration statt im abfragenden Code.
Installieren
shell
dotnet add package eQuantic.Core.Data
Was sie tut
Unit of WorkEine Transaktion über mehrere Repositories, einmal committet, damit eine halb geschriebene Änderung einen Fehler nicht übersteht.
Erweiterte RepositoriesGenerische Repositories mit Spezifikationen, Sortierung, Paginierung und Projektionen — die Form der Abfrage kommt als Argument.
EntitätsabbildungAbbildung zwischen Domänenentitäten und DTOs, konfiguriert statt vorausgesetzt.
Automatische AuditierungErstellung, Änderung und Löschung werden für Sie nachverfolgt, bei jeder Entität, die es verlangt.
MandantenfähigkeitDaten pro Mandant getrennt, mit automatisch angewandtem Filter statt an jeder Aufrufstelle bedacht.
Unit of WorkEine Transaktion über mehrere Repositories, einmal committet, damit eine halb geschriebene Änderung einen Fehler nicht übersteht.
Erweiterte RepositoriesGenerische Repositories mit Spezifikationen, Sortierung, Paginierung und Projektionen — die Form der Abfrage kommt als Argument.
EntitätsabbildungAbbildung zwischen Domänenentitäten und DTOs, konfiguriert statt vorausgesetzt.
Automatische AuditierungErstellung, Änderung und Löschung werden für Sie nachverfolgt, bei jeder Entität, die es verlangt.
MandantenfähigkeitDaten pro Mandant getrennt, mit automatisch angewandtem Filter statt an jeder Aufrufstelle bedacht.
Schnellstart
Den Kontext konfigurieren — Ihr Datenkontext erbt von der Basisklasse, die Auditierung und Mandantenfilter mitbringt.
C#
public class ApplicationDbContext : EQuanticDbContext{ public DbSet<Product> Products { get; set; } public DbSet<Order> Orders { get; set; } public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.ApplyConfigurationsFromAssembly(typeof(ApplicationDbContext).Assembly); }}
Mit einer Unit of Work koordinieren — Nehmen Sie die Schnittstelle, arbeiten Sie mit mehreren Repositories und speichern Sie einmal.
C#
public class OrderService{ private readonly IUnitOfWork _unitOfWork; public OrderService(IUnitOfWork unitOfWork) { _unitOfWork = unitOfWork; } public async Task<Order> CreateOrderAsync(CreateOrderRequest request) { var order = new Order(request.CustomerId, request.Items); await _unitOfWork.GetRepository<Order>().AddAsync(order); await _unitOfWork.GetRepository<Product>().UpdateStockAsync(request.Items); await _unitOfWork.SaveChangesAsync(); return order; }}
Mit Spezifikationen abfragen — Bauen Sie die Abfrage als Objekt — kombinierbar, testbar und an der nächsten Aufrufstelle wiederverwendbar.
C#
public class GetOrdersByCustomerSpec : Specification<Order>{ public GetOrdersByCustomerSpec(int customerId, DateTime? fromDate = null) { Criteria = o => o.CustomerId == customerId; if (fromDate.HasValue) Criteria = Criteria.And(o => o.CreatedAt >= fromDate.Value); AddInclude(o => o.Items); AddInclude("Items.Product"); ApplyOrderByDescending(o => o.CreatedAt); }}
Öffentliche Schnittstelle
NAMENSRAUM
ÖFFENTLICHE SCHNITTSTELLE
IUnitOfWork
Koordiniert die Transaktionen und die daran beteiligten Repositories.
EQuanticDbContext
Der Basiskontext für Entity Framework, mit Auditierung und Mandantenfilter bereits eingerichtet.
Specification<T>
Die Basisklasse für eine kombinierbare Abfragespezifikation.
Lesen Sie lieber Code?
Jedes Paket ist MIT-lizenziert und öffentlich, und die Beispiele sind zum Kopieren bereit.
Bereit, etwas Echtes zu liefern?
Buchen Sie ein 30-minütiges Erstgespräch. Innerhalb einer Stunde sagen wir Ihnen, ob wir der richtige Partner sind — oder wer es ist.
Bereit, etwas Echtes zu liefern?
Buchen Sie ein 30-minütiges Erstgespräch. Innerhalb einer Stunde sagen wir Ihnen, ob wir der richtige Partner sind — oder wer es ist.
eQuantic
Wir entwickeln Produkte, Bibliotheken und Software auf Unternehmensniveau, die weltweit skalieren. Ein Technologielabor mit Sitz in Portugal.
eQuantic
Wir entwickeln Produkte, Bibliotheken und Software auf Unternehmensniveau, die weltweit skalieren. Ein Technologielabor mit Sitz in Portugal.
eQuantic
Wir entwickeln Produkte, Bibliotheken und Software auf Unternehmensniveau, die weltweit skalieren. Ein Technologielabor mit Sitz in Portugal.
© 2026 eQuantic Tech. Alle Rechte vorbehalten.