static void Main(string[] args) { var optionsBuilder = new DbContextOptionsBuilder <ListingDbContext>(); optionsBuilder.UseSqlServer("Data Source=localhost;Initial Catalog=testdb;persist security info=True;Integrated Security=true;"); var context = new ListingDbContext(optionsBuilder.Options); var fromDate = DateTime.Parse("2019-01-01 00:00:00"); var toDate = fromDate.AddMonths(1); // #1 Include() only var includeOnly = context.Listings .Include(listing => listing.Category); var includeOnlyResults = includeOnly.OrderBy(listing => listing.UpdateDate) .Where(listing => listing.UpdateDate > fromDate && listing.UpdateDate < toDate) .Skip(0).Take(100) .ToArray(); Console.WriteLine($"#Scenario One - Include() only"); Console.WriteLine($"total # of listings: {includeOnlyResults.Length}, total # of category navigation property loaded: {includeOnlyResults.Count(l => l.Category != null)}"); Console.WriteLine($"missing categories: {includeOnlyResults.Count(l => l.Category == null)}"); // #2 Include() with AsNoTracking() var asNoTracking = context.Listings .AsNoTracking() .Include(listing => listing.Category); var asNoTrackingResults = asNoTracking.OrderBy(listing => listing.UpdateDate) .Where(listing => listing.UpdateDate > fromDate && listing.UpdateDate < toDate) .Skip(0).Take(100) .ToArray(); Console.WriteLine(); Console.WriteLine($"#Scenario Two - with AsNoTracking()"); Console.WriteLine($"total # of listings: {asNoTrackingResults.Length}, total # of category navigation property loaded: {asNoTrackingResults.Count(l => l.Category != null)}"); Console.WriteLine($"missing categories: {asNoTrackingResults.Count(l => l.Category == null)}"); Console.ReadLine(); }
public DefaultEditionCreator(ListingDbContext context) { _context = context; }
public DefaultLanguagesCreator(ListingDbContext context) { _context = context; }
public ListingDataService(ListingDbContext Context) { _context = Context; }