Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement