# Entityframework Dotnet Custom Di

> Tùy biến Jarvis EF tenant resolution qua ITenantIdResolverFactory và ITenantConnectionStringResolver — không sửa thư viện Jarvis.

- **Type:** Skill
- **Install:** `agentstack add skill-hoangnh2412-ai-skills-custom-di`
- **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/patterns/custom-di

## Install

```sh
agentstack add skill-hoangnh2412-ai-skills-custom-di
```

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

## About

# Custom DI (không sửa Jarvis)

→ Setup: [reference/setup.md](../../reference/setup.md)

App `AddScoped` **sau** `AddEntityFramework()` / `AddCoreDbContext()`.

| Muốn thay | Ghi đè |
|---|---|
| **TenantId** (vd. MST → Guid) | `ITenantIdResolverFactory` |
| **Connection** (vd. MinIO) | Keyed `ITenantConnectionStringResolver` |

## TenantId — keyed resolver + factory chain

```csharp
builder.Services.AddKeyedScoped(nameof(TaxCodeTenantIdResolver));
builder.Services.AddScoped();
```

Tra Master trong resolver: dùng `IDbContextFactory`, không `IMasterUnitOfWork`.

## ConnectionString — custom resolver

```csharp
builder.Services.AddCoreDbContext(options =>
    options.UseNpgsql(builder.Configuration.GetConnectionString("AppDbContext")!));
```

Cần overload 2 generic + interceptor khi connection động theo tenant.

## Checklist

- [ ] `AddScoped` sau `AddEntityFramework`
- [ ] Job: `SwitchDbContextAsync` khi đã biết `TenantId`

## 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-custom-di
- 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%.
