# Entityframework Dotnet

> Thiết lập Jarvis.EntityFramework — repository, multitenancy, AddCoreDbContext, UoW. Dùng khi tích hợp EF Core .NET với single DB, separate tenant DB, hybrid, hoặc custom DI resolver.

- **Type:** Skill
- **Install:** `agentstack add skill-hoangnh2412-ai-skills-entityframework-dotnet`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [hoangnh2412](https://agentstack.voostack.com/s/hoangnh2412)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [hoangnh2412](https://github.com/hoangnh2412)
- **Source:** https://github.com/hoangnh2412/ai-skills/tree/main/jarvis/skills/entityframework-dotnet

## Install

```sh
agentstack add skill-hoangnh2412-ai-skills-entityframework-dotnet
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Jarvis.EntityFramework — Orchestrator

Skill điều phối `Jarvis.EntityFramework` trên ASP.NET Core. Hướng dẫn vận hành: [README.md](README.md).

## Khi nào dùng workflow nào

| Tình huống | Workflow |
|---|---|
| Chưa có EF Jarvis | [workflows/init.md](workflows/init.md) |
| Đổi / thêm mô hình multitenancy | [workflows/add.md](workflows/add.md) |

## Quy tắc cốt lõi

- **`AddJarvisCaching()` trước `AddEntityFramework()`** — `CachingTenantConnectionStringResolver`.
- `AddEntityFramework()` → repository + keyed `ITenantIdResolver`.
- App đăng ký `ITenantConnectionStringResolver` qua `AddCoreDbContext`.
- Sau `SwitchDbContextAsync` → **`GetRepositoryAsync` lại**.
- UoW không đọc `ICurrentTenantAccessor` khi `SetTenantId` — tránh nhầm tenant.

## Packages

| PackageId | Layer |
|---|---|
| `Jarvis.EntityFramework` | Infrastructure |
| `Jarvis.Caching` | Infrastructure (trước EF) |
| `Npgsql.EntityFrameworkCore.PostgreSQL` (hoặc MySQL provider) | Infrastructure |

## Patterns (atomic)

| Mô hình | Path |
|---|---|
| Single DB + `TenantId` | [patterns/single-db/SKILL.md](patterns/single-db/SKILL.md) |
| Separate tenant DB | [patterns/separate-tenant-db/SKILL.md](patterns/separate-tenant-db/SKILL.md) |
| Hybrid | [patterns/hybrid/SKILL.md](patterns/hybrid/SKILL.md) |
| Custom DI resolver | [patterns/custom-di/SKILL.md](patterns/custom-di/SKILL.md) |

**Luôn đọc:** [reference/setup.md](reference/setup.md).

## `AddCoreDbContext`

| Overload | Interceptor | Khi dùng |
|---|---|---|
| `AddCoreDbContext(configure)` | Không | Single DB, Master cố định |
| `AddCoreDbContext(configure)` | `TenantDbConnectionInterceptor` | Per-tenant connection |

## Templates

- [templates/infrastructure-extension.cs](templates/infrastructure-extension.cs)

## Output bắt buộc

- `InfrastructureLayerExtension` — caching + EF + DbContext
- `AppDbContext`, `AppUnitOfWork`, entities
- `appsettings` `ConnectionStrings`, `Cache:Items:ConnectionString`
- `dotnet build`; migrate nếu bật `AutoMigrate`

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [hoangnh2412](https://github.com/hoangnh2412)
- **Source:** [hoangnh2412/ai-skills](https://github.com/hoangnh2412/ai-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-hoangnh2412-ai-skills-entityframework-dotnet
- Seller: https://agentstack.voostack.com/s/hoangnh2412
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
