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);
        }
Beispiel #3
0
        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);
        }