public void TestInsertUsingDerivedObjectUsingFluentMapping([DataSources] string context) { var ms = SetMappings(); using (new DisableBaseline("TODO: debug reason for inconsistent column order")) using (var db = GetDataContext(context, ms)) { try { InsertData(db); Eye eye = new SauronsEye() { Id = 123, Xy = "test321" }; var cnt = db.Insert(eye); Validate(false); cnt = db.InsertOrReplace(eye); Validate(true); cnt = db.Update(eye); Validate(false); db.Delete(eye); void Validate(bool insertOrReplace) { if (insertOrReplace && context.Contains("Oracle") && context.Contains("Native")) { Assert.AreEqual(-1, cnt); } else { Assert.AreEqual(1, cnt); } var data = db.GetTable <Eye>().Where(_ => _.Id == 123).FirstOrDefault(); Assert.IsNotNull(data); Assert.AreEqual(eye.Id, data.Id); Assert.AreEqual(eye.Xy, data.Xy); } } finally { CleanupData(db); } } }
public void TestInsertUsingDerivedObjectUsingFluentMapping(string context) { var ms = SetMappings(); using (var db = GetDataContext(context, ms)) { try { InsertData(db); Eye eye = new SauronsEye() { Id = 123, Xy = "test321" }; var cnt = db.Insert(eye); Validate(); cnt = db.InsertOrReplace(eye); Validate(); cnt = db.Update(eye); Validate(); db.Delete(eye); void Validate() { Assert.AreEqual(1, cnt); var data = db.GetTable <Eye>().Where(_ => _.Id == 123).FirstOrDefault(); Assert.IsNotNull(data); Assert.AreEqual(eye.Id, data.Id); Assert.AreEqual(eye.Xy, data.Xy); } } finally { CleanupData(db); } } }