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); } } }
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); } } }