public async Task EntitySaveAndLoad()
        {
            var p = new Person { Id = Guid.NewGuid() };

            var service = Resolve<IEntityManager<Person>>();

            var pSaved = await service.Set(p);

            //load the person again
            var pLoaded = await service.Get(p.Id);

            Assert.IsTrue(Object.ReferenceEquals(pSaved, pLoaded));

            var p2 = new Person
            {
                Id = p.Id,
                Age = 21,
                Name = "Billingsworth Canterburington"
            };

            p2 = await p2.Set();

            Assert.AreEqual(pSaved.Name, p2.Name);
            Assert.IsTrue(Object.ReferenceEquals(pSaved, p2));
        }
        public async Task Clear_Manager_Test()
        {
            var p = new Person { Id = Guid.NewGuid() };
            

            var service = Resolve<IEntityManager<Person>>();
            var cache = Resolve<IEntityCache>();


            await p.Set();

            var pgot = await service.Get(p.Id);
            Assert.IsNotNull(pgot);

            await cache.Clear();
            await service.ClearAll();

            var pgot2 = await service.Get(p.Id);
            Assert.IsNull(pgot2);
        }