Example #1
0
        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();
        }
Example #2
0
 public DefaultEditionCreator(ListingDbContext context)
 {
     _context = context;
 }
Example #3
0
 public DefaultLanguagesCreator(ListingDbContext context)
 {
     _context = context;
 }
 public ListingDataService(ListingDbContext Context)
 {
     _context = Context;
 }