XiHan.Framework.Persistence.EntityFrameworkCore 5.0.0-preview.2

Prefix Reserved
This is a prerelease version of XiHan.Framework.Persistence.EntityFrameworkCore.
dotnet add package XiHan.Framework.Persistence.EntityFrameworkCore --version 5.0.0-preview.2
                    
NuGet\Install-Package XiHan.Framework.Persistence.EntityFrameworkCore -Version 5.0.0-preview.2
                    
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="XiHan.Framework.Persistence.EntityFrameworkCore" Version="5.0.0-preview.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XiHan.Framework.Persistence.EntityFrameworkCore" Version="5.0.0-preview.2" />
                    
Directory.Packages.props
<PackageReference Include="XiHan.Framework.Persistence.EntityFrameworkCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add XiHan.Framework.Persistence.EntityFrameworkCore --version 5.0.0-preview.2
                    
#r "nuget: XiHan.Framework.Persistence.EntityFrameworkCore, 5.0.0-preview.2"
                    
#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.
#:package XiHan.Framework.Persistence.EntityFrameworkCore@5.0.0-preview.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=XiHan.Framework.Persistence.EntityFrameworkCore&version=5.0.0-preview.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=XiHan.Framework.Persistence.EntityFrameworkCore&version=5.0.0-preview.2&prerelease
                    
Install as a Cake Tool

XiHan.Framework.Persistence.EntityFrameworkCore

关于

XiHan.Framework.Persistence.EntityFrameworkCore 关系型持久化的 Entity Framework Core Provider:应用持有自己的 DbContext,框架提供仓储、工作单元与协议约定(审计字段、并发戳、租户、软删除)。新项目或已经用 EF Core 的应用选它,表结构用 EF Core 迁移管理。

主要特性

  • 仓储与工作单元基于你自己的 DbContext,软删除与租户过滤在仓储查询里显式施加
  • ApplyPersistenceConventions 一行配好并发令牌、租户与软删除索引、[EntityIndex]
  • 支持租户分库、命名连接与健康项
  • 不支持运行时数据源与库结构读取,需要时用 SqlSugar 实现

如何使用

安装

dotnet add package XiHan.Framework.Persistence.EntityFrameworkCore --prerelease

使用

定义 DbContext、登记实体,再装配特性并在回调里配置连接(数据库驱动包如 Microsoft.EntityFrameworkCore.Sqlite 或 Npgsql 由应用引用)。

builder.Services.AddRepository<Order, Guid>();
builder.AddXiHan(x => x.UseStandardProfile()
    .UseFeature(new EntityFrameworkCorePersistenceFeature<AppDbContext>(
        static (binding, options) => options.UseNpgsql(binding.ValueOrThrow().Value))));

public sealed class AppDbContext(DbContextOptions<AppDbContext> options) : DbContext(options)
{
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Order>();
        modelBuilder.ApplyPersistenceConventions(Database);
    }
}

连接串写在 XiHan:Bindings:db;XiHan:Persistence:EntityFrameworkCore:EnsureCreated 设为 true 可在开发与测试时启动建表,生产用迁移。

主要类型

此库提供的主要类型:

  • EntityFrameworkCorePersistenceFeature<TContext>:特性入口,构造参数是配置回调
  • EntityFrameworkCorePersistenceOptions:EnsureCreated、健康探测间隔、命名连接
  • ModelBuilderExtensions.ApplyPersistenceConventions:在模型上应用协议约定
  • EntityFrameworkCoreUnitOfWork、EntityFrameworkCoreRepository<TEntity, TKey>:工作单元与仓储实现

更多文档

相关包

反馈与贡献

XiHan.Framework.Persistence.EntityFrameworkCore 以 MIT 许可证 开源。欢迎到 GitHub 仓库 提交问题和贡献。

Product 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. 
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
5.0.0-preview.2 0 11/6/2026
5.0.0-preview.1 38 11/4/2026