private void RequireUserExists(Guid user) { using (var uow = new UnitOfWork()) { if (!uow.Query<User>().Exists(user)) throw new ArgumentException("Unknown user", "user"); } }
public Guid EnsureUserExists(string name, string email) { using (var uow = new UnitOfWork()) { var foundUser = uow.AllOf<User>().FirstOrDefault(u => u.Name == name); if (foundUser != null) return foundUser.Id; return User.Create(name, email).Id; } }
public void should_convert_collection_to_capped() { const int mb10 = 10 * 1024 * 1024; using (new UnitOfWork()) { TestRoot.Create("boo"); TestRoot.Create("hoo"); } using (var uow = new UnitOfWork()) { var database = (MongoDatabase)uow.DomainDataSession.DataSession.NativeSession; database.EnsureCappedCollectionExists<TestRoot>(10); var stats = database.GetCollection<TestRoot>().GetStats(); stats.IsCapped.Should().BeTrue(); stats.StorageSize.Should().BeInRange(mb10, mb10 + 8192); //TODO: get exact metadata size? uow.Query<TestRoot>().Count().Should().Be(2); } }
public void should_create_valid_capped_collection() { const int mb10 = 10 * 1024 * 1024; using (var uow = new UnitOfWork()) { var database = (MongoDatabase)uow.DomainDataSession.DataSession.NativeSession; database.CollectionExists("TestRoot").Should().BeFalse(); database.EnsureCappedCollectionExists<TestRoot>(10); database.CollectionExists("TestRoot").Should().BeTrue(); var stats = database.GetCollection<TestRoot>().GetStats(); stats.IsCapped.Should().BeTrue(); stats.StorageSize.Should().BeInRange(mb10, mb10 + 8192); //TODO: get exact metadata size? } }
public void should_return_valid_object() { TestRoot createdRoot; using (new UnitOfWork()) { createdRoot = TestRoot.Create("test data"); } using (var uow = new UnitOfWork()) { var foundRoot = uow.Query<TestRoot>().GetOne(createdRoot.Id); foundRoot.Id.Should().Be(createdRoot.Id); foundRoot.Data.Should().Be(createdRoot.Data); } }
public void should_return_collection_with_name_as_derived_root_name() { using (var uow = new UnitOfWork()) { var collection = (uow.DomainDataSession.DataSession.NativeSession as MongoDatabase).GetCollection<DerivedTestRoot>(); collection.Should().NotBeNull(); collection.Name.Should().Be(typeof(DerivedTestRoot).Name); } }