@@ -10,12 +10,10 @@ public abstract class ProxyGraphUpdatesInMemoryTestBase<TFixture>(TFixture fixtu
1010 where TFixture : ProxyGraphUpdatesInMemoryTestBase < TFixture > . ProxyGraphUpdatesInMemoryFixtureBase , new ( )
1111 {
1212 // FK constraint checking.
13- [ Fact ]
1413 public override Task Optional_one_to_one_relationships_are_one_to_one ( )
1514 => Assert . ThrowsAnyAsync < Exception > ( ( ) => base . Optional_one_to_one_relationships_are_one_to_one ( ) ) ;
1615
1716 // FK constraint checking.
18- [ Fact ]
1917 public override Task Optional_one_to_one_with_AK_relationships_are_one_to_one ( )
2018 => Assert . ThrowsAnyAsync < Exception > ( ( ) => base . Optional_one_to_one_with_AK_relationships_are_one_to_one ( ) ) ;
2119
@@ -100,12 +98,10 @@ public override Task Required_many_to_one_dependents_with_alternate_key_are_casc
10098 => Task . CompletedTask ;
10199
102100 // FK constraint checking.
103- [ Fact ]
104101 public override Task Required_one_to_one_relationships_are_one_to_one ( )
105102 => Assert . ThrowsAnyAsync < Exception > ( ( ) => base . Required_one_to_one_relationships_are_one_to_one ( ) ) ;
106103
107104 // FK constraint checking.
108- [ Fact ]
109105 public override Task Required_one_to_one_with_AK_relationships_are_one_to_one ( )
110106 => Assert . ThrowsAnyAsync < Exception > ( ( ) => base . Required_one_to_one_with_AK_relationships_are_one_to_one ( ) ) ;
111107
@@ -121,7 +117,7 @@ public override Task Required_many_to_one_dependents_with_alternate_key_are_casc
121117 public override Task Can_attach_full_optional_graph_of_duplicates ( )
122118 => Task . CompletedTask ;
123119
124- // Cascade delete .
120+ // Graph fixup ordering is non-deterministic on InMemory .
125121 public override Task Can_attach_full_required_AK_graph_of_duplicates ( )
126122 => Task . CompletedTask ;
127123
@@ -141,6 +137,10 @@ public override Task Reparent_required_non_PK_one_to_one_with_alternate_key(
141137 bool useExistingRoot )
142138 => Task . CompletedTask ;
143139
140+ // Cascade delete.
141+ public override Task Save_changed_optional_one_to_one_with_alternate_key_in_store ( )
142+ => Task . CompletedTask ;
143+
144144 // Cascade delete.
145145 public override Task Sever_required_one_to_one ( ChangeMechanism changeMechanism )
146146 => Task . CompletedTask ;
@@ -171,10 +171,17 @@ protected override async Task ExecuteWithStrategyInTransactionAsync(
171171 Func < DbContext , Task > nestedTestOperation2 = null ,
172172 Func < DbContext , Task > nestedTestOperation3 = null )
173173 {
174- await base . ExecuteWithStrategyInTransactionAsync (
175- testOperation , nestedTestOperation1 , nestedTestOperation2 , nestedTestOperation3 ) ;
176-
177- await Fixture . ReseedAsync ( ) ;
174+ // InMemory has no real transactions, so the shared store is mutated directly by each test and must be
175+ // reseeded afterwards.
176+ try
177+ {
178+ await base . ExecuteWithStrategyInTransactionAsync (
179+ testOperation , nestedTestOperation1 , nestedTestOperation2 , nestedTestOperation3 ) ;
180+ }
181+ finally
182+ {
183+ await Fixture . ReseedAsync ( ) ;
184+ }
178185 }
179186
180187 public abstract class ProxyGraphUpdatesInMemoryFixtureBase : ProxyGraphUpdatesFixtureBase
0 commit comments