Msm.Workflow.Lib.Infrastructure
1.9.0
dotnet add package Msm.Workflow.Lib.Infrastructure --version 1.9.0
NuGet\Install-Package Msm.Workflow.Lib.Infrastructure -Version 1.9.0
<PackageReference Include="Msm.Workflow.Lib.Infrastructure" Version="1.9.0" />
<PackageVersion Include="Msm.Workflow.Lib.Infrastructure" Version="1.9.0" />
<PackageReference Include="Msm.Workflow.Lib.Infrastructure" />
paket add Msm.Workflow.Lib.Infrastructure --version 1.9.0
#r "nuget: Msm.Workflow.Lib.Infrastructure, 1.9.0"
#:package Msm.Workflow.Lib.Infrastructure@1.9.0
#addin nuget:?package=Msm.Workflow.Lib.Infrastructure&version=1.9.0
#tool nuget:?package=Msm.Workflow.Lib.Infrastructure&version=1.9.0
Msm.Workflow.Lib.Infrastructure
Infrastructure layer cho MSM Workflow Engine - chứa Entity Framework Core DbContext, configurations, và database access.
📦 Installation
<PackageReference Include="Msm.Workflow.Lib.Infrastructure" Version="1.0.0" />
dotnet add package Msm.Workflow.Lib.Infrastructure
📋 Overview
Package này cung cấp data access layer với Entity Framework Core và PostgreSQL support. Bao gồm DbContext, entity configurations, và migration support.
Contents
- WorkflowDbContext: Main DbContext cho workflow entities
- Entity Configurations: EF Core configurations cho tất cả entities
- Multi-Tenancy Support: Schema-based multi-tenancy với PostgreSQL
- Migrations: Database migration support
🎯 Usage
Register Services
using Msm.Workflow.Lib.Infrastructure;
// In Program.cs or Startup.cs
services.AddInfrastructure(configuration);
Configure DbContext
DbContext được đăng ký tự động bởi AddInfrastructure(). Nếu cần customize, bạn có thể override sau khi gọi AddInfrastructure().
// AddInfrastructure tự động đăng ký DbContext với connection string từ configuration
services.AddInfrastructure(configuration);
// Hoặc cung cấp connection string trực tiếp
services.AddInfrastructure(configuration, connectionString: "your-connection-string");
Multi-Tenancy
Package hỗ trợ schema-based multi-tenancy:
// Set tenant context
tenantProvider.SetCurrentTenantKey("tenant1");
// DbContext sẽ tự động sử dụng schema tương ứng
var processes = await context.WorkflowProcesses.ToListAsync();
🔗 Dependencies
Msm.Workflow.Lib.Domain(required)Microsoft.EntityFrameworkCore(8.0.11)Npgsql.EntityFrameworkCore.PostgreSQL(8.0.11)Microsoft.Extensions.Configuration(9.0.0)
📚 Related Packages
Msm.Workflow.Lib.Domain- Required dependencyMsm.Workflow.Lib.Application- Uses this package for data access
🗄️ Database Requirements
- PostgreSQL 12+ (for multi-tenancy support)
- Connection string format:
Host=localhost;Port=5432;Database=msm_workflow;Username=postgres;Password=password
Migrations history table
Workflow DbContext dùng bảng riêng __WorkflowMigrationsHistory (trong mỗi schema tenant) thay vì __EFMigrationsHistory. Điều này tách hẳn migrations của Workflow khỏi host app (ví dụ SaleCore), tránh xung đột khi dùng chung database. Có thể tham chiếu WorkflowDbContext.MigrationsHistoryTableName trong code nếu cần.
📖 Documentation
For more information, see the main README.md and GETTING_STARTED.md.
| 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 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- MailKit (>= 4.7.1)
- Microsoft.EntityFrameworkCore (>= 8.0.11)
- Microsoft.Extensions.Configuration (>= 9.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 9.0.0)
- Microsoft.Extensions.Configuration.Json (>= 8.0.1)
- Microsoft.Extensions.Http (>= 8.0.1)
- Msm.Workflow.Lib.Application (>= 1.9.0)
- Msm.Workflow.Lib.Domain (>= 1.9.0)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 8.0.11)
-
net8.0
- MailKit (>= 4.7.1)
- Microsoft.EntityFrameworkCore (>= 8.0.11)
- Microsoft.Extensions.Configuration (>= 9.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 9.0.0)
- Microsoft.Extensions.Configuration.Json (>= 8.0.1)
- Microsoft.Extensions.Http (>= 8.0.1)
- Msm.Workflow.Lib.Application (>= 1.9.0)
- Msm.Workflow.Lib.Domain (>= 1.9.0)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 8.0.11)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.