public void Execute() { using (var session = Program.Store.OpenSession()) { var strangelove = new Product {Title = "Dr Strangelove"}; strangelove.Fields["Length"] = 90; strangelove.Fields["Actors"] = new[] { new Actor {Name = "Peter Sellers", Url = "http://www.imdb.com/name/nm0000634/"}, new Actor {Name = "James Earl Jones"} }; session.Store(strangelove); var terminator = new Product {Title = "Terminator"}; terminator.Fields["Length"] = 110; terminator.Fields["Actors"] = new[] { new Actor {Name = "Bob"}, new Actor {Name = "Arnold"} }; session.Store(terminator); var clerks = new Product {Title = "Clerks"}; clerks.Fields["Length"] = 90; clerks.Fields["Actors"] = new[] { new Actor {Name = "Kevin Smith"}, new Actor {Name = "Jason Mewes"} }; session.Store(clerks); session.SaveChanges(); var movies = session.Query<Product>() .Where(p => p.Fields["Length"] == (object) 90) .ToArray(); foreach (var product in movies) { var actors = (IEnumerable<Actor>) product.Fields["Actors"]; Console.WriteLine("{0}\r\n Actors: {1}", product.Title, string.Join(", ", actors.Select(x => x.Name))); } } }
public void Execute() { int id; using (var session = Program.Store.OpenSession()) { var product = new Product {Title = "Foo"}; session.Store(product); id = product.Id; session.SaveChanges(); } var stopwatch = Stopwatch.StartNew(); using (var session = Program.Store.OpenSession()) { for (int i = 0; i < 500; i++) { session.Load<Product>(id); } } //for (int i = 0; i < 500; i++) //{ // using (var session = Program.Store.OpenSession()) // { // session.Load<Product>(id); // } //} //for (int i = 0; i < 500; i++) //{ // using (var session = Program.Store.OpenSession()) // using (session.Advanced.DocumentStore.AggressivelyCacheFor(TimeSpan.FromSeconds(1))) // { // session.Load<Product>(id); // } //} stopwatch.Stop(); Console.WriteLine("{0} ms", stopwatch.Elapsed.TotalMilliseconds); }