private bool IsDatabaseCorrect(OrdersContext context) { try { context.Customers.FirstOrDefault(); context.Products.FirstOrDefault(); context.Orders.FirstOrDefault(); context.OrderLines.FirstOrDefault(); } catch (SqlException) { // Assume an exception means the schema is out of date return(false); } return((_productCount == context.Products.Count()) && (_customerCount == context.Customers.Count()) && (_customerCount * _ordersPerCustomer == context.Orders.Count()) && (_customerCount * _ordersPerCustomer * _linesPerOrder == context.OrderLines.Count())); }
private bool IsDatabaseCorrect(OrdersContext context) { try { context.Customers.FirstOrDefault(); context.Products.FirstOrDefault(); context.Orders.FirstOrDefault(); context.OrderLines.FirstOrDefault(); } catch (SqlException) { // Assume an exception means the schema is out of date return false; } return (_productCount == context.Products.Count()) && (_customerCount == context.Customers.Count()) && (_customerCount * _ordersPerCustomer == context.Orders.Count()) && (_customerCount * _ordersPerCustomer * _linesPerOrder == context.OrderLines.Count()); }
//private readonly IQueryable<object> _query; public Profile() { var connectionString = $@"Server={BenchmarkConfig.Instance.BenchmarkDatabaseInstance};Database=Perf_Query_Simple;Integrated Security=True;MultipleActiveResultSets=true;"; _context = new OrdersContext(connectionString); //_query = _context.Products.AsNoTracking().Where(p => p.Retail < 15); var product = (from p in _context.Products from p2 in _context.Products select new { p, p2 }) .Select(a => a.p.Name) .OrderBy(n => n) .AsNoTracking() .First(); //_query.Load(); }
private void EnsureDatabaseCreated() { using (var context = new OrdersContext(ConnectionString)) { var database = context.GetService <IRelationalDatabaseCreator>(); if (!database.Exists()) { context.Database.EnsureCreated(); InsertSeedData(); OnDatabaseCreated(context); } else if (!IsDatabaseCorrect(context)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); InsertSeedData(); OnDatabaseCreated(context); } Assert.True(IsDatabaseCorrect(context)); } }
private void EnsureDatabaseCreated() { using (var context = new OrdersContext(ConnectionString)) { var database = context.GetService<IRelationalDatabaseCreator>(); if (!database.Exists()) { context.Database.EnsureCreated(); InsertSeedData(); OnDatabaseCreated(context); } else if (!IsDatabaseCorrect(context)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); InsertSeedData(); OnDatabaseCreated(context); } Assert.True(IsDatabaseCorrect(context)); } }
protected virtual void OnDatabaseCreated(OrdersContext context) { }
private void InsertSeedData() { var products = CreateProducts(_productCount, setPrimaryKeys: false); using (var context = new OrdersContext(ConnectionString)) { context.Products.AddRange(products); context.SaveChanges(); } var customers = CreateCustomers(_customerCount, setPrimaryKeys: false); using (var context = new OrdersContext(ConnectionString)) { context.Customers.AddRange(customers); context.SaveChanges(); } var orders = CreateOrders(customers, _ordersPerCustomer, setPrimaryKeys: false); using (var context = new OrdersContext(ConnectionString)) { context.Orders.AddRange(orders); context.SaveChanges(); } var lines = CreateOrderLines(products, orders, _linesPerOrder, setPrimaryKeys: false); using (var context = new OrdersContext(ConnectionString)) { context.OrderLines.AddRange(lines); context.SaveChanges(); } }