Tapis.Core.Infrastructure
1.0.5
dotnet add package Tapis.Core.Infrastructure --version 1.0.5
NuGet\Install-Package Tapis.Core.Infrastructure -Version 1.0.5
<PackageReference Include="Tapis.Core.Infrastructure" Version="1.0.5" />
<PackageVersion Include="Tapis.Core.Infrastructure" Version="1.0.5" />
<PackageReference Include="Tapis.Core.Infrastructure" />
paket add Tapis.Core.Infrastructure --version 1.0.5
#r "nuget: Tapis.Core.Infrastructure, 1.0.5"
#:package Tapis.Core.Infrastructure@1.0.5
#addin nuget:?package=Tapis.Core.Infrastructure&version=1.0.5
#tool nuget:?package=Tapis.Core.Infrastructure&version=1.0.5
Tapis.Core.Infrastructure
ASP.NET Core middleware, EF Core audit/concurrency interceptorları, Refit ürün API client'ları, permission attribute'ları, TapisExceptionHandler, IServiceExceptionHandler uygulaması ve isteğe bağlı Elasticsearch ILogger sağlayıcısı (AddTapisElasticsearch).
Tapis.Core.Shared üzerine ProjectReference.
1.0.4'ten itibaren Guid damga üreten VersiyonSaveChangesInterceptor ve
modelBuilder.ConfigureVersiyonluEntities() uzantısı kaldırıldı: damga
PostgreSQL'in xmin sistem sütunu (PERSISTENCE-STANDARDS §8).
Yerine modelBuilder.ConfigureXminConcurrency() geldi. Ürün DbContext'i bunu
OnModelCreating sonunda, kendi yapılandırmalarından sonra çağırır:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
// ... ürünün kendi yapılandırmaları
modelBuilder.ConfigureXminConcurrency();
}
Uzantı tabloya eşlenmiş her entity'ye xmin gölge özelliğini concurrency
token olarak bağlar; owned, anahtarsız ve türetilmiş TPH tiplerini atlar.
Satıra yeni bir sütun eklenmez — xmin PostgreSQL'in zaten tuttuğu sistem
sütunudur.
1.0.5: eşleme EF'in standart mekanizmasıyla kurulur — gölge uint xmin özelliği
IsRowVersion() olur, Npgsql 7+ convention'ı onu xmin/xid'e eşler (sütun adı ve tipi elle
verilmez). Özellik gölge kalır: CLR özelliği olsaydı nesne eşleyiciler istemci damgasını
CurrentValue'ya yazar ve kontrol sessizce kapanırdı. Uzantı yalnız Npgsql üzerinde çağrılır
(if (Database.IsNpgsql())); diğer sağlayıcılarda uint rowversion eşlemesi yoktur. Paket
Npgsql'e bağımlı değildir.
Audit interceptor (AuditSaveChangesInterceptor) ve
IServiceExceptionHandler değişmedi.
Target Framework
- .NET 10
Installation
dotnet add package Tapis.Core.Infrastructure
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Elastic.Extensions.Logging (>= 9.0.0)
- Microsoft.EntityFrameworkCore (>= 10.0.10)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.10)
- Refit (>= 8.0.0)
- Tapis.Core.Shared (>= 2.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
ConfigureXminConcurrency sadeleşti: gölge uint xmin özelliği IsRowVersion() ile işaretlenir, Npgsql 7+ convention'ı onu xmin/xid'e eşler (npgsql/efcore.pg#2543); elle HasColumnName/HasColumnType/ValueGeneratedOnAddOrUpdate/IsConcurrencyToken kalktı. Eşleme işlevsel olarak aynı (ürün snapshot'ında değişiklik yok). Gölge özellik kalır; çağıran yalnız Database.IsNpgsql() iken çağırır. Npgsql bağımlılığı yok.