Example #1
0
        static void CachePerformanceTest(Boolean cachingEnabled)
        {
            DateTime started = DateTime.Now;
            Int32 loopymax = 100000;
            EntityFrameworkRepositoryContext<TheoreticalEntities> context
                = new EntityFrameworkRepositoryContext<TheoreticalEntities>();
            OrderDataMapBlock blocky;

            for (Int32 i = 0; i < loopymax; i++)
            {
                blocky = new OrderDataMapBlock();
                //blocky.Context = context;
                blocky.CachingEnabled = cachingEnabled;

                blocky.TouchDataMap();
            }
            var stringy = cachingEnabled ? "(Caching)" : "(No caching)";
            Console.WriteLine("Time to complete" + stringy + ": " + DateTime.Now.Subtract(started).TotalSeconds.ToString());
        }
Example #2
0
        static void DataMapBlock()
        {
            try
            {
                OrderDataMapBlock dataMapBlock = new OrderDataMapBlock();

                //set the juicy context...
                var efContext = new TheoreticalEntities();
                efContext.Configuration.LazyLoadingEnabled = false;
                efContext.Configuration.ProxyCreationEnabled = false;
                //efContext.Configuration.ValidateOnSaveEnabled = false;
                var context = new DataMapper.Repositories.EntityFrameworkRepositoryContext<TheoreticalEntities>(efContext);
                dataMapBlock.Context = context;

                var findResult = dataMapBlock.TryFind(134);

                var addOrder = CreateNewOrder();
                //sl.Add(addOrder);
                dataMapBlock.Add(addOrder);
                context.SaveChanges();

                var addFindResult = dataMapBlock.TryFind(addOrder.OrderId);

                //remove last and add a new one.
                addFindResult.OrderItem.Remove(addFindResult.OrderItem.Last());
                addFindResult.OrderItem.Add(new OrderItem()
                {
                    HasSerialNumber = false,
                    SalePrice = 1000M,
                    SerialNumber = "ADDEDITEM",
                    Upc = "ADDUPC",
                    ConcurrencyId = 0
                });

                addFindResult.MultiKey.Remove(addFindResult.MultiKey.First());
                addFindResult.MultiKey.Add(new MultiKey()
                {
                    KeyOne = 100,
                    KeyTwo = Guid.NewGuid(),
                    KeyThree = "GiggidyUp",
                    Name= "Multi",
                    Number= "23333",
                    ConcurrencyId = 99
                });

                dataMapBlock.Update(addFindResult);
                context.SaveChanges();

                addFindResult.OrderInformation.Last().TrackingNumber = "Giggidy";

                dataMapBlock.Update(addFindResult);
                context.SaveChanges();

                dataMapBlock.Delete(addFindResult);
                context.SaveChanges();

                Order whatever;
                Order whatever2;
                using (var tranny = new System.Transactions.TransactionScope())
                {
                    whatever = CreateNewOrder();
                    whatever.Number = "F**k";
                    dataMapBlock.Add(whatever);
                    context.SaveChanges();

                    whatever2 = CreateNewOrder();
                    whatever2.Number = "YeahMan";
                    dataMapBlock.Add(whatever2);
                    context.SaveChanges();

                    tranny.Complete();
                }

                whatever = whatever;
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }

            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }