public void AddPersonWithAddressesSelectMany() { using (var ctx = new MyTestDbContext()) { ctx.SetupAsTestDbContext(); var p1 = new Person { Name = "Hallo" }; for (int i = 0; i < 3; i++) { p1.Addresses.Add(new Adresse() { Name = "Myaddress" + i }); } ctx.Persons.Add(p1); ctx.SaveChanges(); } using (var ctx = new MyTestDbContext()) { ctx.Configuration.ProxyCreationEnabled = false; ctx.SetupAsTestDbContext(); var adr = ctx.Persons .AsNoTracking() .SelectMany(x => x.Addresses) .Where(x => x.Id > 0) .Where(x => x.Id < 1000) .FirstOrDefault(x => x.Id == 2); Assert.That(adr, Is.Not.Null); } }
public void SetInternalProperty() { using (var ctx = new MyTestDbContext()) { ctx.SetupAsTestDbContext(); ctx.TestData.Add(new TestData()); ctx.SaveChanges(); } using (var ctx = new MyTestDbContext()) { ctx.SetupAsTestDbContext(); var p = ctx.TestData.FirstOrDefault(); Assert.That(p.Id, Is.EqualTo(1)); } }
public void FirstOrDefaultNestedProperty() { using (var ctx = new MyTestDbContext()) { ctx.SetupAsTestDbContext(); ctx.TestData.Add(new TestData() { NestedData = new TestData() { Number = 42 } }); ctx.SaveChanges(); } using (var ctx = new MyTestDbContext()) { ctx.Configuration.ProxyCreationEnabled = false; ctx.SetupAsTestDbContext(); var data = ctx.TestData.FirstOrDefault(x => x.NestedData.Number == 42); Assert.That(data, Is.Not.Null); } }
private void CreateHostRoleAndUsers() { // Admin role for host var adminRoleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin); if (adminRoleForHost == null) { adminRoleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Admin, StaticRoleNames.Host.Admin) { IsStatic = true, IsDefault = true }).Entity; _context.SaveChanges(); } // Grant all permissions to admin role for host var grantedPermissions = _context.Permissions.IgnoreQueryFilters() .OfType <RolePermissionSetting>() .Where(p => p.TenantId == null && p.RoleId == adminRoleForHost.Id) .Select(p => p.Name) .ToList(); var permissions = PermissionFinder .GetAllPermissions(new MyTestAuthorizationProvider()) .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host) && !grantedPermissions.Contains(p.Name)) .ToList(); if (permissions.Any()) { _context.Permissions.AddRange( permissions.Select(permission => new RolePermissionSetting { TenantId = null, Name = permission.Name, IsGranted = true, RoleId = adminRoleForHost.Id }) ); _context.SaveChanges(); } // Admin user for host var adminUserForHost = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == null && u.UserName == AbpUserBase.AdminUserName); if (adminUserForHost == null) { var user = new User { TenantId = null, UserName = AbpUserBase.AdminUserName, Name = "admin", Surname = "admin", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, IsActive = true }; user.Password = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(user, "123qwe"); user.SetNormalizedNames(); adminUserForHost = _context.Users.Add(user).Entity; _context.SaveChanges(); // Assign Admin role to admin user _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, adminRoleForHost.Id)); _context.SaveChanges(); _context.SaveChanges(); } }