public void GetAll_Without_Includes_LazyLoads_Email() { dbContext.Configuration.LazyLoadingEnabled = true; dbContext.Database.Log = sql => { if (sql.Contains("SELECT")) { queries.Add(sql); } }; var repository = new MyEfRepository(dbContext); var contact = repository.GetAll().First(); contact.Name.ShouldEqual("Test User 1"); queries.Count().ShouldEqual(1); contact.EmailAddresses.First().Email.ShouldEqual("*****@*****.**"); queries.Count().ShouldEqual(2); }
public void GetAll_With_Text_Include_And_Pagination_LazyLoads_Email() { dbContext.Configuration.LazyLoadingEnabled = true; dbContext.Database.Log = sql => { if (sql.Contains("SELECT")) { queries.Add(sql); } }; var repository = new MyEfRepository(dbContext); var pagination = new PagingOptions <Contact>(1, 4, "ContactId"); var contact = repository.GetAll(pagination, "EmailAddresses").First(); contact.Name.ShouldEqual("Test User 1"); queries.Count().ShouldEqual(2); // first query is count for total records contact.EmailAddresses.First().Email.ShouldEqual("*****@*****.**"); queries.Count().ShouldEqual(2); }
public void GetAll_With_Includes_In_Strategy_LazyLoads_Email() { dbContext.Configuration.LazyLoadingEnabled = true; dbContext.Database.Log = sql => { if (sql.Contains("SELECT")) { queries.Add(sql); } }; var repository = new MyEfRepository(dbContext); var strategy = new GenericFetchStrategy <Contact>(); strategy.Include(x => x.EmailAddresses); var contact = repository.GetAll(strategy).First(); contact.Name.ShouldBe("Test User 1"); queries.Count().ShouldBe(1); contact.EmailAddresses.First().Email.ShouldBe("*****@*****.**"); queries.Count().ShouldBe(1); }