SHARE
TWEET

Untitled

a guest Jun 18th, 2019 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System.Data.Entity;
  2.  
  3. namespace EFCosas
  4. {
  5.     class Contexto : DbContext
  6.     {
  7.         public Contexto(): base("MyDbContext")
  8.         {
  9.  
  10.         }
  11.        
  12.         public DbSet<Trabajador> Trabajadores { get; set; }
  13.        
  14.         public DbSet<Encargado> Encargados { get; set; }
  15.  
  16.         protected override void OnModelCreating(DbModelBuilder modelBuilder)
  17.         {
  18.             base.OnModelCreating(modelBuilder);
  19.  
  20.             modelBuilder.Entity<Persona>().HasKey(x => x.Documento).ToTable("Personas");
  21.             modelBuilder.Entity<Trabajador>().HasKey(x => x.Nombre).ToTable("Trabajadores");
  22.             modelBuilder.Entity<Encargado>().HasKey(x => x.Nombre).ToTable("Encargados");
  23.         }
  24.     }
  25.    
  26.     class Persona
  27.     {
  28.         public string Nombre { get; set; }
  29.         public int Documento { get; set; }
  30.     }
  31.    
  32.     class Trabajador : Persona
  33.     {
  34.         public int HorasTrabajadas { get; set; }
  35.     }
  36.    
  37.     class Encargado : Persona
  38.     {
  39.         public string Area { get; set; }
  40.  
  41.         public List<Trabajador> Subditos { get; set; }
  42.     }
  43.    
  44.     class Program
  45.     {
  46.         static void Main(string[] args)
  47.         {
  48.             var persistencia = new Contexto();
  49.  
  50.             var t1 = new Trabajador {
  51.                 Documento = 111111,
  52.                 HorasTrabajadas = 5,
  53.                 Nombre = "Carlos"
  54.             };
  55.  
  56.             var e1 = new Encargado
  57.             {
  58.                 Area = "Sistemas",
  59.                 Documento = 22222222,
  60.                 Nombre = "Pedro",
  61.                 Subditos = new List<Trabajador>()
  62.             };
  63.  
  64.             e1.Subditos.Add(t1);
  65.  
  66.             using (var context = new Contexto())
  67.             {
  68.                 context.Encargados.Add(e1);
  69.                 context.Trabajadores.Add(t1);
  70.  
  71.                 context.SaveChanges();
  72.             }
  73.         }
  74.     }
  75. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top