From kagents
Entity Framework Core for .NET 10 — DbContext design, IEntityTypeConfiguration, Fluent API, migrations, seed data, query patterns (AsNoTracking, Include, projection). USE FOR: designing EF Core entities, creating migrations, writing optimized queries with Fluent API. DO NOT USE FOR: advanced query performance tuning or index strategy (use database-performance).
npx claudepluginhub grexyloco/k.agentsThis skill uses the workspace's default tool permissions.
```csharp
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
public class UserConfiguration : IEntityTypeConfiguration<User>
{
public void Configure(EntityTypeBuilder<User> builder)
{
builder.HasKey(u => u.Id);
builder.Property(u => u.Email).IsRequired().HasMaxLength(256);
builder.HasIndex(u => u.Email).IsUnique();
builder.Property(u => u.CreatedAt).HasDefaultValueSql("GETUTCDATE()");
builder.OwnsOne(u => u.Address);
}
}
// Read-Only (immer AsNoTracking)
var users = await context.Users.AsNoTracking().TagWith("GetAllUsers").ToListAsync();
// Split Query bei tiefen Includes
var orders = await context.Orders
.Include(o => o.Items).ThenInclude(i => i.Product)
.AsSplitQuery()
.ToListAsync();
// Projection statt Full Entity
var dtos = await context.Users
.Select(u => new UserDto(u.Id, u.Email, u.DisplayName))
.ToListAsync();
AddUserEmailUniqueIndex, nicht Migration_001Down() immer implementierenHasData() oder dedizierte Migrationdotnet ef database update muss mehrfach laufen können