public void RealUpdate() { var db = new RealDB(connString, new SQL2005DBAnalyzer(connString)); var person = new Person(); person.FirstName = "test"; person.LastName = "person"; var keys = db.Insert("Person", person._AsDictionary()); //Retrieve the saved person so we can verify it saved with our intended data var retrieved = db.RawRead("Person", keys).First(); Assert.AreEqual(person.FirstName, retrieved["FirstName"]); Assert.AreEqual(person.LastName, retrieved["LastName"]); person.FirstName = "newFirst"; person.LastName = "newLastName"; //Update and retrieve the person again so we can verify that the Update worked var data = person._AsDictionary().Where(kv => !keys.Keys.Contains(kv.Key)) .ToDictionary(i => i.Key, i => i.Value); db.RealUpdate("Person", data, keys); retrieved = db.RawRead("Person", keys).First(); Assert.AreEqual(person.FirstName, retrieved["FirstName"]); Assert.AreEqual(person.LastName, retrieved["LastName"]); }