static void Main(string[] args) { var all = db.DemoAs.All(); Console.WriteLine("Enter DemoA Name: "); string result = Console.ReadLine(); DemoA o1 = new DemoA { Name = result, Code = "a1new", DateCreated = DateTime.Now, DemoB = new Guid("61188c91-0a4a-4235-b08f-79f70bc0cf6e"), Description = "a1new", }; db.DemoAs.Insert(o1); o1.Code = "a1new upadate"; o1.Update(); var all1 = db.DemoAs.All(); var cc = o1; var tt = db.DemoAs.Single(o1.Oid); Console.WriteLine(tt.ToString()); result = Console.ReadLine(); //db.DemoAs.Delete(o1); var all11 = db.DemoAs.All(); DemoB b = new DemoB { Code = "ASD", Name = "BBB1", Price = 123123 }; db.DemoBs.Insert(b); var bs = db.DemoBs.All(); var findb = db.DemoBs.Single(new Guid("61188c91-0a4a-4235-b08f-79f70bc0cf6e")); b.Delete(); bs = db.DemoBs.All(); //db.DemoBs.Delete(b); var sdfsd = 1; }
static void Main(string[] args) { //Instanciamos un objeto de la clase DemoB. var demo = new DemoB(); demo.Nombre = "Aitor"; demo.Apellidos = "Cerdán"; demo.Edad = 13; //demo.PintaDatos(); demo.PintaDatosHijo(); demo.PintaDatosPadre(); //Compatibilidad: La compatibilidad es con la BASE. Los derivados entre si son incompatibles. DemoB b = new DemoB(); DemoA a = new DemoA(); //Las variables tienen que contener objetos iguales. DemoA a2 = new DemoB(); //Las clases base son compatibles con las clases derivadas. //DemoB b2 = new DemoA(); //Clase derivada contiene clase base. NO //DemoC c = new DemoA(); //Clases no heredadas. NO //Sucede igual con el uso de interfaces: Lavadora lavadora = new Lavadora(); IElectrodomestico Ilavadora = new Lavadora(); //Una variable de una interfaz puede contener cualquier objeto de sus clases derivadas. Nevera nevera = new Nevera(); //Estos objetos tienen acceso a toda la funcionalidad de la clase Nevera. IElectrodomestico Inevera = new Nevera(); //Estos objetos solo tendran acceso a los miembros mínimos que define la interfaz. Ilavadora = lavadora; Ilavadora = nevera; //Una variale de tipo interfaz puede contener cualquier objeto que derive de su misma interfaz. Ilavadora = Inevera; //Inevera es un objeto interfaz. Inevera = lavadora; //etc. Inevera e Ilavadora son la misma interfaz. //Tipos: Console.WriteLine(lavadora.GetType().ToString()); //Objeto. Console.WriteLine(Ilavadora.GetType().ToString()); //Interfaz. A través de una conversión podemos acceder a los métodos del objeto. //Colecciones: IEnumerable <int> numeros = new List <int>(); //Interfaz IEnumerable que comparten todas las colecciones en .NET. Solo tenemos acceso a la funcionalidad mínima. }