Exemplo n.º 1
0
 private void MigrateDatabase()
 {
     using (var db = new SpatialiteCrashDbContext())
     {
         db.Database.Migrate();
     }
 }
Exemplo n.º 2
0
        public IActionResult QueryDatabase()
        {
            using (var db = new SpatialiteCrashDbContext())
            {
                var orderCount = db.Orders.Count();

                var randomOrderNumber = new Random().Next(0, orderCount);
                var numToTake         = new Random().Next(0, 10);

                var orders = db.Orders
                             .Skip(randomOrderNumber)
                             .Take(numToTake)
                             .ToList(); //intentional materialize

                //intentional lazy load of order items
                var orderItems = orders
                                 .SelectMany(o => o.OrderItems)
                                 .ToList(); //intentional materialize

                //just transforming so json doesnt try to lazy load nav props
                var ordersTransformed = orders.Select(o => new
                {
                    o.Id,
                    o.OrderNumber,
                    o.OrderDate
                })
                                        .ToList();

                var orderItemsTransformed = orderItems.Select(i => new
                {
                    i.Id,
                    i.Name,
                    i.OrderId
                })
                                            .ToList();

                return(Json(new
                {
                    Orders = ordersTransformed,
                    orderItems = orderItemsTransformed
                }));
            }
        }
Exemplo n.º 3
0
        private void AddData()
        {
            using (var db = new SpatialiteCrashDbContext())
            {
                //quick hack to make sure we dont seed all the time
                if (db.Orders.Count() < 20000)
                {
                    var dataSeedRange = Enumerable.Range(1, 10000);

                    var data = dataSeedRange.Select(x => new Database.Order
                    {
                        Id          = Guid.NewGuid(),
                        OrderNumber = 145325235,
                        OrderDate   = DateTime.UtcNow
                    });

                    db.Orders.AddRange(data);

                    db.SaveChanges();
                }
            }
        }