public async Task poco_Crud()
{
// Create a random record
var o = CreatePoco();
Assert.IsTrue(db.IsNew("id", o));
// Insert it
await db.InsertAsync("petapoco", "id", o);
Assert.AreNotEqual(o.id, 0);
Assert.IsFalse(db.IsNew("id", o));
// Retrieve it
var o2 = await db.SingleAsync<poco>("SELECT * FROM petapoco WHERE id=@0", o.id);
Assert.IsFalse(db.IsNew("id", o2));
// Check it
AssertPocos(o, o2);
// Update it
o2.title = "New Title";
await db.SaveAsync("petapoco", "id", o2);
// Retrieve itagain
var o3 = await db.SingleAsync<poco>("SELECT * FROM petapoco WHERE id=@0", o.id);
// Check it
AssertPocos(o2, o3);
// Delete it
await db.DeleteAsync("petapoco", "id", o3);
// Should be gone!
var o4 = await db.SingleOrDefaultAsync<poco>("SELECT * FROM petapoco WHERE id=@0", o.id);
Assert.IsNull(o4);
}