static void Main(String[] args) { String cs = @"Data Source=ALIASTVALK;Initial Catalog=TestEF;Integrated Security=True; MultipleActiveResultSets=True"; using (TestEFContext c = new TestEFContext(cs)) { UserGroup g1 = new UserGroup { Name = "G1", DynFields = new List <UserGroupDynamicField> { new UserGroupDynamicField { Name = "DF11" }, new UserGroupDynamicField { Name = "DF12" } } }; c.Groups.Add(g1); UserGroup g2 = new UserGroup { Name = "G2", DynFields = new List <UserGroupDynamicField> { new UserGroupDynamicField { Name = "DF21" }, new UserGroupDynamicField { Name = "DF22" } } }; c.Groups.Add(g2); c.Users.Add(new User { Name = "U1", Groups = new List <UserGroup> { g1, g2 } }); c.SaveChanges(); } using (TestEFContext c = new TestEFContext(cs)) { var res = c.Users.Include("Groups.DynFields").First().Groups.SelectMany(x => x.DynFields).ToList(); foreach (var v in res) { Console.WriteLine(v.Name); } } }
static void Main(string[] args) { TestEFContext ctx = new TestEFContext(); if (ctx.Database.Exists()) { //string sql = "select * from perfiles"; ctx.Database.Connection.Open(); //ctx.Database.SqlQuery(sql, ctx.Database.Connection.ToString()); ctx.Database.Connection.Close(); Console.WriteLine("La Base esta.."); Console.ReadLine(); } // Perfil p1 = ctx.Perfiles.FirstOrDefault(); //Console.WriteLine($"{p.Descripcion}"); // Console.ReadLine(); // Console.WriteLine($"{p1.Descripcion}"); // Usuario u = ctx.Usuarios.FirstOrDefault(); //Console.WriteLine($"{u.Login} {u.perfil.Descripcion}"); //Perfil p1 = new Perfil(); Perfil p1 = ctx.Perfiles .Where(per => per.Descripcion.ToLower() == "avanzado").FirstOrDefault(); if (p1 == null) { p1 = new Perfil(); p1.Descripcion = "Avanzado"; } //p1.Descripcion = "Invitados"; Usuario u = new Usuario(); u.Login = "******"; u.perfil = p1; ctx.Usuarios.Add(u); ctx.SaveChanges(); /* * Usuario usr = ctx.Usuarios.Where(u => u.Login == "thedy").FirstOrDefault(); * //Console.WriteLine($"{usr.Login} {usr.perfil.Descripcion}"); * * * Perfil p = usr.perfil; * * */ Console.ReadLine(); ctx.Dispose(); }