예제 #1
0
        public void EagerLoad_IncludesRelatedData()
        {
            using (var dbContext = new EntityDbContext())
            {
                var userName       = Guid.NewGuid().ToString();
                var permissionName = Guid.NewGuid().ToString();
                var user           = new User {
                    Name = userName,
                };
                user.Permissions.Add(new Permission {
                    Name = permissionName
                });
                dbContext.Create(user);
                var affectedRows = dbContext.SaveChangesAsync().Result;
                affectedRows.ShouldEqual(3);

                var entity = dbContext.Query <User>()
                             .EagerLoad(new Expression <Func <User, object> >[]
                {
                    x => x.Permissions,
                }).Single(x => x.Name.Equals(userName));
                entity.Permissions.Count.ShouldEqual(1);
                entity.Permissions.Single().Name.ShouldEqual(permissionName);
            }
        }
예제 #2
0
        public void Query_ReturnsData()
        {
            using (var dbContext = new EntityDbContext())
            {
                var createdEntity = new User {
                    Name = Guid.NewGuid().ToString()
                };
                dbContext.Create(createdEntity);
                var affectedRows = dbContext.SaveChangesAsync().Result;
                affectedRows.ShouldEqual(1);

                var queriedEntity = dbContext.Query <User>().SingleOrDefaultAsync(x => x.Id == createdEntity.Id).Result;

                Assert.NotNull(queriedEntity);
                createdEntity.Id.ShouldEqual(queriedEntity.Id);
            }
        }