Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Data.Entity;
- namespace EFCosas
- {
- class Contexto : DbContext
- {
- public Contexto(): base("MyDbContext")
- {
- }
- public DbSet<Trabajador> Trabajadores { get; set; }
- public DbSet<Encargado> Encargados { get; set; }
- protected override void OnModelCreating(DbModelBuilder modelBuilder)
- {
- base.OnModelCreating(modelBuilder);
- modelBuilder.Entity<Persona>().HasKey(x => x.Documento).ToTable("Personas");
- modelBuilder.Entity<Trabajador>().HasKey(x => x.Nombre).ToTable("Trabajadores");
- modelBuilder.Entity<Encargado>().HasKey(x => x.Nombre).ToTable("Encargados");
- }
- }
- class Persona
- {
- public string Nombre { get; set; }
- public int Documento { get; set; }
- }
- class Trabajador : Persona
- {
- public int HorasTrabajadas { get; set; }
- }
- class Encargado : Persona
- {
- public string Area { get; set; }
- public List<Trabajador> Subditos { get; set; }
- }
- class Program
- {
- static void Main(string[] args)
- {
- var persistencia = new Contexto();
- var t1 = new Trabajador {
- Documento = 111111,
- HorasTrabajadas = 5,
- Nombre = "Carlos"
- };
- var e1 = new Encargado
- {
- Area = "Sistemas",
- Documento = 22222222,
- Nombre = "Pedro",
- Subditos = new List<Trabajador>()
- };
- e1.Subditos.Add(t1);
- using (var context = new Contexto())
- {
- context.Encargados.Add(e1);
- context.Trabajadores.Add(t1);
- context.SaveChanges();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement