- GraphUpdatesTestBase<TFixture> - AccessState 
- AccessStateWithSentinel 
- BadCustomer 
- BadOrder 
- Bayaz 
- Beetroot2 
- Bloog 
- BoolOnlyKey<T> 
- Carrot 
- ChangeMechanism 
- ChildAsAParent 
- ChildBaseEntity32084 
- ChildEntity32084 
- City 
- College 
- CompositeKeyWith<T> 
- Cruiser 
- CruiserWithSentinel 
- EntityZ 
- EventDescriptorZ 
- FirstLaw 
- GraphUpdatesFixtureBase 
- HiddenAreaTask 
- Lettuce2 
- MyDiscriminator 
- NaiveParent 
- NonCompositeOwnedCollection 
- NotifyingEntity 
- Optional1 
- Optional1Derived 
- Optional1MoreDerived 
- Optional2 
- Optional2Derived 
- Optional2MoreDerived 
- OptionalAk1 
- OptionalAk1Derived 
- OptionalAk1MoreDerived 
- OptionalAk2 
- OptionalAk2Derived 
- OptionalAk2MoreDerived 
- OptionalComposite2 
- OptionalOverlapping2 
- OptionalSingle1 
- OptionalSingle1Derived 
- OptionalSingle1MoreDerived 
- OptionalSingle2 
- OptionalSingle2Derived 
- OptionalSingle2MoreDerived 
- OptionalSingleAk1 
- OptionalSingleAk1Derived 
- OptionalSingleAk1MoreDerived 
- OptionalSingleAk2 
- OptionalSingleAk2Derived 
- OptionalSingleAk2MoreDerived 
- OptionalSingleComposite2 
- Owned 
- OwnedNoKeyGeneration 
- OwnedOptional1 
- OwnedOptional2 
- OwnedOptionalSingle1 
- OwnedOptionalSingle2 
- OwnedRequired1 
- OwnedRequired2 
- OwnedRequiredSingle1 
- OwnedRequiredSingle2 
- OwnedWithKey 
- OwnedWithPrivateKey 
- Owner 
- OwnerNoKeyGeneration 
- OwnerRoot 
- OwnerWithKeyedCollection 
- OwnerWithNonCompositeOwnedCollection 
- ParentAsAChild 
- ParentEntity32084 
- Parsnip 
- Parsnip2 
- Partner 
- Poost 
- Produce 
- Provider 
- ProviderContract 
- ProviderContract1 
- ProviderContract2 
- QuestTask 
- QuizTask 
- Radish2 
- Required1 
- Required1Derived 
- Required1MoreDerived 
- Required2 
- Required2Derived 
- Required2MoreDerived 
- RequiredAk1 
- RequiredAk1Derived 
- RequiredAk1MoreDerived 
- RequiredAk2 
- RequiredAk2Derived 
- RequiredAk2MoreDerived 
- RequiredComposite1 
- RequiredComposite2 
- RequiredNonPkSingle1 
- RequiredNonPkSingle1Derived 
- RequiredNonPkSingle1MoreDerived 
- RequiredNonPkSingle2 
- RequiredNonPkSingle2Derived 
- RequiredNonPkSingle2MoreDerived 
- RequiredNonPkSingleAk1 
- RequiredNonPkSingleAk1Derived 
- RequiredNonPkSingleAk1MoreDerived 
- RequiredNonPkSingleAk2 
- RequiredNonPkSingleAk2Derived 
- RequiredNonPkSingleAk2MoreDerived 
- RequiredSingle1 
- RequiredSingle2 
- RequiredSingleAk1 
- RequiredSingleAk2 
- RequiredSingleComposite2 
- Root 
- RootStructure 
- SecondLaw 
- SharedFkDependant 
- SharedFkParent 
- SharedFkRoot 
- SneakyChild 
- SneakyUncle32084 
- Something 
- SomethingCategory 
- SomethingOfCategoryA 
- SomethingOfCategoryB 
- StableChild32084 
- StableParent32084 
- Swede 
- TaskChoice 
- TaskWithChoices 
- ThirdLaw 
- Turnip 
- TurnipSwede 
- GraphUpdatesTestBase(TFixture) 
- Fixture 
- IsTheRoot 
- Add<T>(IEnumerable<T>, T) 
- Alternate_key_over_foreign_key_doesnt_bypass_delete_behavior(Boolean) 
- AssertEntries(IReadOnlyList<EntityEntry>, IReadOnlyList<EntityEntry>) 
- AssertKeys(Root, Root) 
- AssertNavigations(Root) 
- AssertPossiblyNullNavigations(Root) 
- Avoid_nulling_shared_FK_property_when_deleting() 
- Avoid_nulling_shared_FK_property_when_nulling_navigation(Boolean) 
- BuildNewRoot(Boolean, Boolean, Boolean, Boolean, Boolean, Boolean) 
- Can_add_multiple_dependents_when_multiple_possible_principal_sides() 
- Can_add_valid_first_dependent_when_multiple_possible_principal_sides() 
- Can_add_valid_second_dependent_when_multiple_possible_principal_sides() 
- Can_insert_when_bool_PK_in_composite_key_has_sentinel_value(Boolean, Boolean) 
- Can_insert_when_composite_FK_has_default_value_for_one_part(Boolean) 
- Can_insert_when_FK_has_default_value(Boolean) 
- Can_insert_when_FK_has_sentinel_value(Boolean) 
- Can_insert_when_int_PK_in_composite_key_has_sentinel_value(Boolean, Int32) 
- Can_insert_when_nullable_bool_PK_in_composite_key_has_sentinel_value(Boolean, Boolean?) 
- Can_insert_when_PK_property_in_composite_key_has_sentinel_value<T>(Boolean, T) 
- Changes_to_Added_relationships_are_picked_up(ChangeMechanism) 
- Clearing_CLR_key_owned_collection(Boolean, Boolean, Boolean) 
- Clearing_shadow_key_owned_collection_throws(Boolean, Boolean, Boolean) 
- CreateContext() 
- CreateOwnerRoot() 
- Delete_principal_with_CLR_key_owned_collection(Boolean) 
- Delete_principal_with_shadow_key_owned_collection_throws(Boolean) 
- Detaching_dependent_entity_will_not_remove_references_to_it() 
- Detaching_principal_entity_will_remove_references_to_it() 
- Discriminator_values_are_not_marked_as_unknown(Boolean) 
- ExecuteWithStrategyInTransactionAsync(Func<DbContext, Task>, Func<DbContext, Task>, Func<DbContext, Task>, Func<DbContext, Task>) 
- LoadOptionalAkGraphAsync(DbContext) 
- LoadOptionalGraphAsync(DbContext) 
- LoadOptionalOneToManyGraphAsync(DbContext) 
- LoadRequiredAkGraphAsync(DbContext) 
- LoadRequiredCompositeGraphAsync(DbContext) 
- LoadRequiredGraphAsync(DbContext) 
- LoadRequiredNonPkAkGraphAsync(DbContext) 
- LoadRequiredNonPkGraphAsync(DbContext) 
- Mark_explicitly_set_dependent_appropriately_with_any_inheritance_and_stable_generator(Boolean, Boolean) 
- Mark_explicitly_set_stable_dependent_appropriately_when_deep_in_graph(Boolean, Boolean) 
- Mark_explicitly_set_stable_dependent_appropriately(Boolean, Boolean) 
- Mark_modified_one_to_many_overlapping(ChangeMechanism, CascadeTiming?) 
- ModifyQueryRoot(IQueryable<Root>) 
- Mutating_discriminator_value_can_be_configured_to_allow_mutation() 
- Mutating_discriminator_value_throws_by_convention() 
- New_FK_is_not_cleared_on_old_dependent_delete(Boolean, CascadeTiming?) 
- No_fixup_to_Deleted_entities(CascadeTiming?) 
- Notification_entities_can_have_indexes() 
- Optional_many_to_one_dependent_leaves_can_be_deleted(CascadeTiming?, CascadeTiming?) 
- Optional_many_to_one_dependents_are_orphaned_in_store(CascadeTiming?, CascadeTiming?) 
- Optional_many_to_one_dependents_are_orphaned_starting_detached(CascadeTiming?, CascadeTiming?) 
- Optional_many_to_one_dependents_are_orphaned_with_Added_graph(CascadeTiming?, CascadeTiming?) 
- Optional_many_to_one_dependents_are_orphaned(CascadeTiming?, CascadeTiming?) 
- Optional_many_to_one_dependents_with_alternate_key_are_orphaned_in_store(CascadeTiming?, CascadeTiming?) 
- Optional_many_to_one_dependents_with_alternate_key_are_orphaned_starting_detached(CascadeTiming?, CascadeTiming?) 
- Optional_many_to_one_dependents_with_alternate_key_are_orphaned(CascadeTiming?, CascadeTiming?) 
- Optional_one_to_one_are_orphaned_in_store(CascadeTiming?, CascadeTiming?) 
- Optional_one_to_one_are_orphaned_starting_detached(CascadeTiming?, CascadeTiming?) 
- Optional_one_to_one_are_orphaned(CascadeTiming?, CascadeTiming?) 
- Optional_one_to_one_leaf_can_be_deleted(CascadeTiming?, CascadeTiming?) 
- Optional_one_to_one_relationships_are_one_to_one(CascadeTiming?) 
- Optional_one_to_one_with_AK_relationships_are_one_to_one(CascadeTiming?) 
- Optional_one_to_one_with_alternate_key_are_orphaned_in_store(CascadeTiming?, CascadeTiming?) 
- Optional_one_to_one_with_alternate_key_are_orphaned_starting_detached(CascadeTiming?, CascadeTiming?) 
- Optional_one_to_one_with_alternate_key_are_orphaned(CascadeTiming?, CascadeTiming?) 
- PopulateGraphAsync(DbContext) 
- QueryOptionalAkGraph(DbContext) 
- QueryOptionalGraph(DbContext) 
- QueryOptionalOneToManyGraph(DbContext) 
- QueryRequiredAkGraph(DbContext) 
- QueryRequiredCompositeGraph(DbContext) 
- QueryRequiredGraph(DbContext) 
- QueryRequiredNonPkAkGraph(DbContext) 
- QueryRequiredNonPkGraph(DbContext) 
- Re_childing_parent_to_new_child_with_delete(CascadeTiming?, CascadeTiming?) 
- Remove<T>(IEnumerable<T>, T) 
- Reparent_dependent_one_to_many_ak(ChangeMechanism, CascadeTiming?) 
- Reparent_dependent_one_to_many(ChangeMechanism, CascadeTiming?) 
- Reparent_one_to_many_overlapping(ChangeMechanism, Boolean, CascadeTiming?) 
- Reparent_optional_one_to_one_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Reparent_optional_one_to_one(ChangeMechanism, Boolean, CascadeTiming?) 
- Reparent_required_non_PK_one_to_one_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Reparent_required_non_PK_one_to_one(ChangeMechanism, Boolean, CascadeTiming?) 
- Reparent_required_one_to_one_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Reparent_required_one_to_one(ChangeMechanism, Boolean, CascadeTiming?) 
- Reparent_to_different_one_to_many(ChangeMechanism, Boolean, CascadeTiming?) 
- Required_many_to_one_dependent_leaves_can_be_deleted(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_are_cascade_deleted_in_store(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_are_cascade_deleted_starting_detached(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_are_cascade_deleted(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_are_cascade_detached_when_Added(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_with_alternate_key_are_cascade_deleted_in_store(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_with_alternate_key_are_cascade_deleted_starting_detached(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_with_alternate_key_are_cascade_deleted(CascadeTiming?, CascadeTiming?) 
- Required_many_to_one_dependents_with_alternate_key_are_cascade_detached_when_Added(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_are_cascade_deleted_in_store(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_are_cascade_deleted_starting_detached(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_are_cascade_deleted(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_are_cascade_detached_when_Added(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_leaf_can_be_deleted(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_with_alternate_key_are_cascade_deleted_in_store(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_with_alternate_key_are_cascade_deleted_starting_detached(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_with_alternate_key_are_cascade_deleted(CascadeTiming?, CascadeTiming?) 
- Required_non_PK_one_to_one_with_alternate_key_are_cascade_detached_when_Added(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_are_cascade_deleted_in_store(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_are_cascade_deleted_starting_detached(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_are_cascade_deleted(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_are_cascade_detached_when_Added(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_leaf_can_be_deleted(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_relationships_are_one_to_one(CascadeTiming?) 
- Required_one_to_one_with_AK_relationships_are_one_to_one(CascadeTiming?) 
- Required_one_to_one_with_alternate_key_are_cascade_deleted_in_store(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_with_alternate_key_are_cascade_deleted_starting_detached(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_with_alternate_key_are_cascade_deleted(CascadeTiming?, CascadeTiming?) 
- Required_one_to_one_with_alternate_key_are_cascade_detached_when_Added(CascadeTiming?, CascadeTiming?) 
- Reset_unknown_original_value_when_current_value_is_set(Boolean) 
- Resetting_a_deleted_reference_fixes_up_again() 
- Save_changed_optional_one_to_one_with_alternate_key_in_store() 
- Save_changed_optional_one_to_one_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_changed_optional_one_to_one(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_changed_owned_one_to_many() 
- Save_changed_owned_one_to_one() 
- Save_optional_many_to_one_dependents_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_optional_many_to_one_dependents(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_removed_optional_many_to_one_dependents_with_alternate_key(ChangeMechanism, CascadeTiming?) 
- Save_removed_optional_many_to_one_dependents(ChangeMechanism, CascadeTiming?) 
- Save_removed_required_many_to_one_dependents_with_alternate_key(ChangeMechanism, CascadeTiming?) 
- Save_removed_required_many_to_one_dependents(ChangeMechanism, CascadeTiming?) 
- Save_required_many_to_one_dependents_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_required_many_to_one_dependents(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_required_non_PK_one_to_one_changed_by_reference_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_required_non_PK_one_to_one_changed_by_reference(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_required_one_to_one_changed_by_reference_with_alternate_key(ChangeMechanism, Boolean, CascadeTiming?) 
- Save_required_one_to_one_changed_by_reference(ChangeMechanism, CascadeTiming?) 
- Saving_multiple_modified_entities_with_the_same_key_does_not_overflow(Boolean) 
- Saving_unknown_key_value_marks_it_as_unmodified(Boolean) 
- Sever_optional_one_to_one_with_alternate_key(ChangeMechanism, CascadeTiming?) 
- Sever_optional_one_to_one(ChangeMechanism, CascadeTiming?) 
- Sever_relationship_that_will_later_be_deleted(Boolean) 
- Sever_required_non_PK_one_to_one_with_alternate_key(ChangeMechanism, CascadeTiming?) 
- Sever_required_non_PK_one_to_one(ChangeMechanism, CascadeTiming?) 
- Sever_required_one_to_one_with_alternate_key(ChangeMechanism, CascadeTiming?) 
- Sever_required_one_to_one(ChangeMechanism, CascadeTiming?) 
- Shadow_skip_navigation_in_base_class_is_handled(Boolean) 
- Sometimes_not_calling_DetectChanges_when_required_does_not_throw_for_null_ref() 
- Throws_for_single_property_bool_key_with_default_value_generation(Boolean, Boolean) 
- Throws_for_single_property_key_with_default_value_generation<T>(Boolean, T) 
- Throws_for_single_property_nullable_bool_key_with_default_value_generation(Boolean, Boolean?) 
- Update_principal_with_CLR_key_owned_collection(Boolean) 
- Update_principal_with_non_generated_shadow_key_owned_collection_throws(Boolean, Boolean) 
- Update_principal_with_shadow_key_owned_collection_throws(Boolean) 
- Update_root_by_collection_replacement_of_deleted_first_level(Boolean) 
- Update_root_by_collection_replacement_of_deleted_second_level(Boolean) 
- Update_root_by_collection_replacement_of_deleted_third_level(Boolean) 
- Update_root_by_collection_replacement_of_inserted_first_level_level(Boolean) 
- Update_root_by_collection_replacement_of_inserted_first_level(Boolean) 
- Update_root_by_collection_replacement_of_inserted_second_level(Boolean) 
- UpdateRoot(DbContext, Bayaz, Boolean) 
- UseTransaction(DatabaseFacade, IDbContextTransaction) 
 
net10.0-windows7.0
    namespace Microsoft.EntityFrameworkCore
{
    public abstract class GraphUpdatesTestBase<TFixture> : IClassFixture<TFixture>
        where TFixture, new(), GraphUpdatesFixtureBase
    {
        [ConditionalTheory]
        [InlineData(new[] { CascadeTiming.OnSaveChanges, CascadeTiming.OnSaveChanges })]
        [InlineData(new[] { CascadeTiming.OnSaveChanges, CascadeTiming.Immediate })]
        [InlineData(new[] { CascadeTiming.OnSaveChanges, CascadeTiming.Never })]
        [InlineData(new[] { CascadeTiming.Immediate, CascadeTiming.OnSaveChanges })]
        [InlineData(new[] { CascadeTiming.Immediate, CascadeTiming.Immediate })]
        [InlineData(new[] { CascadeTiming.Immediate, CascadeTiming.Never })]
        [InlineData(new[] { CascadeTiming.Never, CascadeTiming.OnSaveChanges })]
        [InlineData(new[] { CascadeTiming.Never, CascadeTiming.Immediate })]
        [InlineData(new[] { CascadeTiming.Never, CascadeTiming.Never })]
        [InlineData(new[] { null, null })]
        public virtual Task Optional_one_to_one_leaf_can_be_deleted(CascadeTiming? cascadeDeleteTiming, CascadeTiming? deleteOrphansTiming);
    }
}
            | .NET | 9.010.0 | 
|---|---|
| Information specific to net10.0 | |
| Platforms | This API is only available when you target a specific platform: | 
| Windows | 7.0 | 
| Information specific to net10.0-windows7.0 | |
| Assembly | Microsoft.EntityFrameworkCore.Specification.Tests , Version=9.0.3.0, PublicKeyToken=adb9793829ddae60 | 
| Referencing | Your project needs a package reference to  | 
| Package | Microsoft.EntityFrameworkCore.Specification.Tests (9.0.3) net9.0 | 
| Platform Restrictions | This API is supported on all platforms. | 
- Built-in API
- Package-provided API