public void CanDefineDateTimeAndTimestampWithIdentity() { ReInitDb(); if (Version < new Version(5, 6)) { return; } using (var db = new ProductsDbContext()) { //db.Database.CreateIfNotExists(); db.Database.Initialize(true); Product product = new Product { //Omitting Identity Columns DateTimeWithPrecision = DateTime.Now, TimeStampWithPrecision = DateTime.Now }; db.Products.Add(product); db.SaveChanges(); var updateProduct = db.Products.First(); updateProduct.DateTimeWithPrecision = new DateTime(2012, 3, 18, 23, 9, 7, 6); db.SaveChanges(); Assert.AreNotEqual(null, db.Products.First().Timestamp); Assert.AreNotEqual(null, db.Products.First().DateCreated); Assert.AreEqual(new DateTime(2012, 3, 18, 23, 9, 7, 6), db.Products.First().DateTimeWithPrecision); Assert.AreEqual(1, db.Products.Count()); db.Database.Delete(); } }
public void CanDefineDatesWithPrecisionFor56() { if (Version < new Version(5, 6)) { return; } using (var db = new ProductsDbContext()) { db.Database.CreateIfNotExists(); using (MySqlConnection conn = new MySqlConnection(db.Database.Connection.ConnectionString)) { conn.Open(); MySqlCommand query = new MySqlCommand("Select Column_name, Is_Nullable, Data_Type, DateTime_Precision from information_schema.Columns where table_schema ='" + conn.Database + "' and table_name = 'Products' and column_name ='DateTimeWithPrecision'", conn); query.Connection = conn; MySqlDataReader reader = query.ExecuteReader(); while (reader.Read()) { Assert.AreEqual("DateTimeWithPrecision", reader[0].ToString()); Assert.AreEqual("NO", reader[1].ToString()); Assert.AreEqual("datetime", reader[2].ToString()); Assert.AreEqual("3", reader[3].ToString()); } reader.Close(); query = new MySqlCommand("Select Column_name, Is_Nullable, Data_Type, DateTime_Precision from information_schema.Columns where table_schema ='" + conn.Database + "' and table_name = 'Products' and column_name ='TimeStampWithPrecision'", conn); query.Connection = conn; reader = query.ExecuteReader(); while (reader.Read()) { Assert.AreEqual("TimeStampWithPrecision", reader[0].ToString()); Assert.AreEqual("NO", reader[1].ToString()); Assert.AreEqual("timestamp", reader[2].ToString()); Assert.AreEqual("3", reader[3].ToString()); } reader.Close(); } db.Database.Delete(); } }