private TestEFContext GetTestEFContext(bool collectSqlQueries)
        {
            var options = new DbContextOptionsBuilder <TestEFContext>()
                          .UseSqlite(connection)
                          .AddXRayInterceptor(collectSqlQueries)
                          .Options;
            var context = new TestEFContext(options);

            context.Database.EnsureCreated();

            return(context);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            TestEFContext ctx = new TestEFContext();

            if (ctx.Database.Exists())
            {
                Console.WriteLine("La base esta...");
                Console.ReadLine();
            }
            Perfil p = ctx.Perfiles.FirstOrDefault();

            Console.WriteLine($"{p.Descripcion}");
            Console.ReadLine();
        }
Esempio n. 3
0
        public bool GetSingleColumnSlow(Stopwatch watch, int repeatCount, int takeCount)
        {
            watch.Start();

            for (var i = 0; i < repeatCount; i++)
            {
                using (var db = new TestEFContext())
                    db.Narrow.Where(t => t.ID == 1).Select(t => t.ID).AsEnumerable().First();
            }

            watch.Stop();

            return(true);
        }
Esempio n. 4
0
        public bool GetSingleColumnFast(Stopwatch watch, int repeatCount, int takeCount)
        {
            watch.Start();

            using (var db = new TestEFContext())
                for (var i = 0; i < repeatCount; i++)
                {
                    db.Narrow.FromSql("SELECT ID FROM Narrow WHERE ID = 1").Select(t => t.ID).AsEnumerable().First();
                }

            watch.Stop();

            return(true);
        }
Esempio n. 5
0
        public bool GetNarrowList(Stopwatch watch, int repeatCount, int takeCount)
        {
            watch.Start();

            using (var db = new TestEFContext())
                for (var i = 0; i < repeatCount; i++)
                {
                    foreach (var item in db.NarrowLong.Take(takeCount))
                    {
                    }
                }

            watch.Stop();

            return(true);
        }
Esempio n. 6
0
        public bool GetSingleColumnParam(Stopwatch watch, int repeatCount, int takeCount)
        {
            watch.Start();

            using (var db = new TestEFContext())
                for (var i = 0; i < repeatCount; i++)
                {
                    var id = 1;
                    var p  = 2;
                    db.Narrow.Where(t => t.ID == id && t.Field1 == p).Select(t => t.ID).AsEnumerable().First();
                }

            watch.Stop();

            return(true);
        }
Esempio n. 7
0
        public bool GetNarrowList(Stopwatch watch, int repeatCount, int takeCount)
        {
            watch.Start();

            using (var db = new TestEFContext())
                for (var i = 0; i < repeatCount; i++)
                {
                    foreach (var item in db.NarrowLong.FromSql($"SELECT TOP ({takeCount}) ID, Field1 FROM NarrowLong"))
                    {
                    }
                }

            watch.Stop();

            return(true);
        }
    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);
            }
        }
    }
Esempio n. 9
0
        public bool GetSingleColumnParam(Stopwatch watch, int repeatCount, int takeCount)
        {
            var query = EF.CompileQuery((TestEFContext db, int id, int p) =>
                                        db.Narrow.Where(t => t.ID == id && t.Field1 == p).Select(t => t.ID).First());

            watch.Start();

            using (var db = new TestEFContext())
                for (var i = 0; i < repeatCount; i++)
                {
                    query(db, 1, 2);
                }

            watch.Stop();

            return(true);
        }
Esempio n. 10
0
        public bool GetSingleColumnSlow(Stopwatch watch, int repeatCount, int takeCount)
        {
            var query = EF.CompileQuery((TestEFContext db) =>
                                        db.Narrow.Where(t => t.ID == 1).Select(t => t.ID).First());

            watch.Start();

            for (var i = 0; i < repeatCount; i++)
            {
                using (var db = new TestEFContext())
                    query(db);
            }

            watch.Stop();

            return(true);
        }
Esempio n. 11
0
        static void Main(string[] args)
        {
            TestEFContext ctx = new TestEFContext();

            if (ctx.Database.Exists())
            {
                Console.WriteLine("La base esta...");
            }
            //Console.ReadLine();

            //var txt = ctx.Database.SqlQuery<TElement>("select * from Usuarios", params object[] parameters);

            Perfil per = ctx.Perfiles.FirstOrDefault();

            Console.WriteLine($"{per.Descripcion}");

            Console.ReadLine();
        }
Esempio n. 12
0
        public bool GetNarrowList(Stopwatch watch, int repeatCount, int takeCount)
        {
            var query = EF.CompileQuery((TestEFContext db, int top) =>
                                        db.NarrowLong.Take(top));

            watch.Start();

            using (var db = new TestEFContext())
                for (var i = 0; i < repeatCount; i++)
                {
                    foreach (var item in query(db, takeCount))
                    {
                    }
                }

            watch.Stop();

            return(true);
        }
Esempio n. 13
0
        public bool GetSingleColumnParam(Stopwatch watch, int repeatCount, int takeCount)
        {
            watch.Start();

            using (var db = new TestEFContext())
            {
                for (var i = 0; i < repeatCount; i++)
                {
                    db.Narrow
                    .FromSql("SELECT ID FROM Narrow WHERE ID = @id AND Field1 = @p",
                             new SqlParameter("@id", 1),
                             new SqlParameter("@p", 2))
                    .Select(t => t.ID).AsEnumerable().First();
                }
            }

            watch.Stop();

            return(true);
        }
Esempio n. 14
0
        static void Main(string[] args)
        {
            TestEFContext ctx = TestEFContext.DB;

            AppDomain.CurrentDomain.UnhandledException += (s, e) =>
            {
                Console.WriteLine(" >>>>>>> CUIDADO Excepcion");
                ctx?.Dispose();
            };

            if (ctx.Database.Exists())
            {
                Console.WriteLine("La base esta...");
            }
            else
            {
                Console.WriteLine(" >>>>>>> ERROR: no existe la base de datos...");
            }



            // Perfil p = ctx.Perfiles.FirstOrDefault();
            Usuario usr = ctx.Usuarios.Where(u => u.Login == "maria").FirstOrDefault();

            Console.WriteLine($"{usr.Login} {usr.Perfil.Nombre}");
            Perfil p = usr.Perfil;

            foreach (var pp in p.Usuarios)
            {
                Console.WriteLine($"{pp.Login}");
            }
            Console.ReadLine();

            //Usuario user;

            //user = new Usuario()
            //{
            //  Login = "******",
            //  Perfil = p
            //};

            //ctx.Usuarios.Add(user);

            //  user = ctx.Usuarios.FirstOrDefault();

            //ctx.SaveChanges();
            //  Console.WriteLine($"ID Perfil: {p.IDPerfil} ; Descripcion:  {p.Descripcion}");
            //  Console.WriteLine($"{user.Login} {user.Perfil.Descripcion}");
            // Console.WriteLine($"{p.Nombre}");
            //Usuario usr = ctx.Usuarios.FirstOrDefault();

            //Console.WriteLine($"{usr.Login} {usr.Perfil.Nombre}");
            // Perfil p1 = ctx.Perfiles.Where(per => per.Nombre.ToLower() == "avanzado").FirstOrDefault();

            // if (p1 == null)

            // {
            //     p1 = new Perfil();
            //     p1.Nombre = "avanzado";


            // }
            // p1.Nombre = "Invitado";
            //Usuario usr = new Usuario();
            // usr.Login = "******";
            // usr.Perfil = p1;
            // ctx.Usuarios.Add(usr);
            // ctx.SaveChanges();



            ctx.Dispose();
        }
Esempio n. 15
0
        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();
        }