Ejemplo n.º 1
0
        public void UpdateSimple()
        {
            var sb = new MySqlConnectionStringBuilder(st.ConnectionString);

            sb.Logging = true;
            using (DefaultContext ctx = new DefaultContext(sb.ToString()))
            {
                MySqlTrace.Listeners.Clear();
                MySqlTrace.Switch.Level = SourceLevels.All;
                GenericListener listener = new GenericListener();
                MySqlTrace.Listeners.Add(listener);

                Product p = new Product()
                {
                    Name = "Acme"
                };
                ctx.Products.Add(p);
                ctx.SaveChanges();

                p.Name = "Acme 2";
                ctx.SaveChanges();

                Regex rx = new Regex(@"Query Opened: (?<item>UPDATE .*)", RegexOptions.Compiled | RegexOptions.Singleline);
                foreach (string s in listener.Strings)
                {
                    Match m = rx.Match(s);
                    if (m.Success)
                    {
                        st.CheckSqlContains(m.Groups["item"].Value,
                                            @"UPDATE `Products` SET `Name`='Acme 2' WHERE `Id` = 1;
                SELECT `CreatedDate` FROM `Products` WHERE  row_count() > 0 and `Id` = 1");
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void UpdateSimple()
        {
            using (testEntities context = new testEntities())
            {
                MySqlTrace.Listeners.Clear();
                MySqlTrace.Switch.Level = SourceLevels.All;
                GenericListener listener = new GenericListener();
                MySqlTrace.Listeners.Add(listener);
                Product pc = null;
                try
                {
                    pc      = new Product();
                    pc.Name = "Acme";
                    context.AddToProducts(pc);
                    context.SaveChanges();
                    pc.Name = "Acme 2";
                    context.SaveChanges();
                }
                finally
                {
#if CLR4
                    context.Products.DeleteObject(pc);
#endif
                }
                // Check sql
                Regex rx = new Regex(@"Query Opened: (?<item>UPDATE .*)", RegexOptions.Compiled | RegexOptions.Singleline);
                foreach (string s in listener.Strings)
                {
                    Match m = rx.Match(s);
                    if (m.Success)
                    {
                        st.CheckSql(m.Groups["item"].Value, MySql.Data.Entity.Tests.Properties.SQLSyntax.UpdateWithSelect);
                        //TODO:check assert.fail commented.
                        //Assert.Pass();
                    }
                }
                //Assert.Fail();
            }
        }