public void DenyWriteNavigationPeoperty_AddExisting_NavigationCriteria() { CreateTwoObjects(); using (DbContextNavigationReferenceObject context = new DbContextNavigationReferenceObject()) { context.PermissionsContainer.AddMemberPermission <DbContextNavigationReferenceObject, One>(SecurityOperation.Write, OperationState.Deny, "Reference", (s, t) => t.Reference != null && t.Reference.Name == "2"); One one = context.One.Include(p => p.Reference).First(p => p.Name == "1"); one.Reference = null; context.SaveChanges(); one.Reference = one; context.SaveChanges(); One one2 = context.One.Include(p => p.Reference).First(p => p.Name == "2"); one.Reference = one2; AssertFail(context); } }
private void CreateTwoObjects() { using (DbContextNavigationReferenceObject context = new DbContextNavigationReferenceObject()) { context.ResetDatabase(); One one1 = new One(); one1.Name = "1"; context.Add(one1); One one2 = new One(); one2.Name = "2"; one1.Reference = one2; context.SaveChanges(); } }