private void MigrateDatabase() { using (var db = new SpatialiteCrashDbContext()) { db.Database.Migrate(); } }
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 })); } }
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(); } } }