using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
public static void Main()
using var context = new DNDContext();
var characters = context.Characters
.Include(x => x.Abilities)
.ToDictionary(x => x.CharacterId, x => x.Abilities.Select(x => x.Ability));
public record Character(int CharacterId, List<CharacterAbility> Abilities);
public record CharacterAbility(int CharacterId, Character Character, int AbilityId, Ability Ability);
public record Ability(int AbilityId);
public class DNDContext : DbContext
public DbSet<Character> Characters { get; set; }
public DbSet<CharacterAbility> CharacterAbilities { get; set; }
public DbSet<Ability> Abilities { get; set; }