public void LazyLoad_Set_To_False() { dbContext.Configuration.LazyLoadingEnabled = false; var repository = new MyEfRepository(dbContext); repository.LazyLoadValue.ShouldBeFalse(); }
public void LazyLoad_Set_To_False() { var dbPath = EfDataDirectoryFactory.Build(); Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0"); var dbContext = new TestObjectEntities("Data Source=" + dbPath); dbContext.Configuration.LazyLoadingEnabled = false; var repos = new MyEfRepository(dbContext); repos.LazyLoadValue.ShouldBeFalse(); }
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 FindAll_With_Include_And_Predicate_In_Specs_LazyLoads_Email() { dbContext.Configuration.LazyLoadingEnabled = true; dbContext.Database.Log = sql => { if (sql.Contains("SELECT")) { queries.Add(sql); } }; var repository = new MyEfRepository(dbContext); var findAllBySpec = new Specification <Contact>(obj => obj.ContactId == "1") .And(obj => obj.EmailAddresses.Any(m => m.Email == "*****@*****.**")); var specification = new Specification <Contact>(obj => obj.Name == "Test User 1"); findAllBySpec.FetchStrategy = new GenericFetchStrategy <Contact>(); findAllBySpec.FetchStrategy .Include(obj => obj.EmailAddresses); // NOTE: This line will erase my FetchStrategy from above if (null != specification) { findAllBySpec = findAllBySpec.And(specification); } var contact = repository.FindAll(findAllBySpec).First(); contact.Name.ShouldEqual("Test User 1"); queries.Count().ShouldEqual(1); // first query is count for total records contact.EmailAddresses.First().Email.ShouldEqual("*****@*****.**"); queries.Count().ShouldEqual(1); repository.FindAll(findAllBySpec).Count().ShouldEqual(1); }
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); }