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); }
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(); }
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); }
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); }
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); }
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); }
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); } } }
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); }
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); }
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(); }
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); }
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); }
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(); }
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(); }