Пример #1
0
        private static void RealWorldScenarioComplexObject()
        {
            var rnd = new Random();

            using (var manager = new ComplexObjectFirstLevelCacheManager())
            {
                for (int i = 0; i < MaxItemCount; i++)
                {
                    var entity = new ComplexObject()
                    {
                        Name   = "Complex Object",
                        Amount = (decimal)rnd.NextDouble() * MaxItemCount,
                        Data   = new byte[] { 0, 1, 2, 3 },
                        IsCrew = false,
                    };
                    manager.Add(entity);
                }

                for (int i = 0; i < MaxItemCount; i++)
                {
                    var entity = new ComplexObject()
                    {
                        PkId   = i + 1,
                        Name   = "Complex Object " + i,
                        Amount = (decimal)rnd.NextDouble() * MaxItemCount,
                        Data   = new byte[] { 3, 2, 1, 0 },
                        IsCrew = true,
                    };
                    manager.Update(entity);
                }

                //manager.Refresh(true);

                for (int i = 0; i < MaxItemCount / 10; i++)
                {
                    var t = rnd.Next(MaxItemCount);
                    try
                    {
                        manager.Delete(i);
                    }
                    // ReSharper disable once EmptyGeneralCatchClause
                    catch { }
                }
                var result = manager.AsQueryable().Take(MaxItemCount).ToList();
                foreach (var item in result)
                {
                    Console.WriteLine("PkId: {0}, Name: {1}, Modified: {2}, Amount: {3}, IsCrew: {4}, Data: {5}", item.PkId, item.Name, item.ModifiedDate, item.Amount, item.IsCrew, item.Data);
                }
            }
        }
Пример #2
0
        private static void RealWorldScenarioComplexObject()
        {
            var rnd = new Random();
            using (var manager = new ComplexObjectFirstLevelCacheManager())
            {
                for (int i = 0; i < MaxItemCount; i++)
                {
                    var entity = new ComplexObject()
                    {
                        Name = "Complex Object",
                        Amount = (decimal)rnd.NextDouble() * MaxItemCount,
                        Data = new byte[] { 0, 1, 2, 3 },
                        IsCrew = false,
                    };
                    manager.Add(entity);
                }

                for (int i = 0; i < MaxItemCount; i++)
                {
                    var entity = new ComplexObject()
                    {
                        PkId = i + 1,
                        Name = "Complex Object " + i,
                        Amount = (decimal)rnd.NextDouble() * MaxItemCount,
                        Data = new byte[] { 3, 2, 1, 0 },
                        IsCrew = true,
                    };
                    manager.Update(entity);
                }

                //manager.Refresh(true);

                for (int i = 0; i < MaxItemCount / 10; i++)
                {
                    var t = rnd.Next(MaxItemCount);
                    try
                    {
                        manager.Delete(i);
                    }
                    // ReSharper disable once EmptyGeneralCatchClause
                    catch { }
                }
                var result = Queryable.Take(manager.AsQueryable(), MaxItemCount).ToList();
                foreach (var item in result)
                {
                    Console.WriteLine("PkId: {0}, Name: {1}, Modified: {2}, Amount: {3}, IsCrew: {4}, Data: {5}", item.PkId, item.Name, item.ModifiedDate, item.Amount, item.IsCrew, item.Data);
                }
            }
        }