public void Update_1000_document_as_transaction() { CustomMongoDbContext db = new CustomMongoDbContext("PFrameworkTest", "localhost:27017"); List <Info> qr = db.GetEntity <Info>(x => true) .ToList() .Select(x => new Info(x.Id, string.Concat(DateTime.Now.ToString(), " ", x.Data))) .ToList() ; db.UpdateAsTransaction(qr, x => x.Id); }
public void Insert_1000_document() { CustomMongoDbContext db = new CustomMongoDbContext("PFrameworkTest", "localhost:27017"); Info info = null; for (int i = 0; i < 1000; ++i) { byte[] buffer = new byte[1000]; rnd.NextBytes(buffer); info = new Info(ObjectId.GenerateNewId(), Encoding.UTF8.GetString(buffer)); db.Add(info); } IQueryable <Info> qr = db.GetEntity <Info>(x => true); long totalMemory = GC.GetTotalMemory(false); long totalMemoryEntity = Marshal.SizeOf <char>() * 1000; int cnt = qr.Count(); long totalMemoryAfter = GC.GetTotalMemory(false); Assert.IsTrue(totalMemoryAfter >= totalMemory + 500 * totalMemoryEntity && cnt == 1000); }