using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using Microsoft.Data.SqlClient;
public static void Main()
using (var context = new EmpresaContext())
context.Database.EnsureCreated();
using var db = new EmpresaContext();
var dp = new Departamento()
Descricao = "Departamento 01",
db.Departamentos.Add(dp);
var dep = db.Departamentos.Find(dp.Id);
var fun1 = new Funcionario()
Nome = "Romvlo Avgvstvs",
db.Funcionarios.Add(fun1);
var fun2 = new Funcionario()
db.Funcionarios.Add(fun2);
.Include(p => p.Funcionarios);
FiddleHelper.WriteTable("Tabela de departamentos", departamentos);
foreach (var departamento in departamentos)
if (departamento.Funcionarios?.Any() ?? false)
FiddleHelper.WriteTable("Tabela de funcionarios", departamento.Funcionarios);
public class Departamento
public int Id { get; set; }
public string Descricao { get; set; }
public bool Ativo { get; set; }
public List<Funcionario> Funcionarios { get; set; }
public override string ToString()
return $"Nome: {this.Descricao} Ativo: {this.Ativo}";
public int Id { get; set; }
public string Nome { get; set; }
public string CPF { get; set; }
public string RG { get; set; }
public bool Ativo { get; set; }
public int DepartamentoId { get; set; }
public Departamento Departamento { get; set; }
public class EmpresaContext : DbContext
public DbSet<Departamento> Departamentos { get; set; }
public DbSet<Funcionario> Funcionarios { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
optionsBuilder.UseSqlServer(new SqlConnection(FiddleHelper.GetConnectionStringSqlServer()));
base.OnConfiguring(optionsBuilder);