Skip to content

Commit f30c726

Browse files
authored
Fix View splitting (#258)
* Fix View splitting
1 parent 4b3dcf5 commit f30c726

File tree

3 files changed

+24
-10
lines changed

3 files changed

+24
-10
lines changed

src/EFCore.Jet/Internal/JetModelValidator.cs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -211,19 +211,13 @@ protected override void ValidateSharedColumnsCompatibility(
211211

212212
foreach (var property in mappedTypes.SelectMany(et => et.GetDeclaredProperties()))
213213
{
214-
var declaringTable = property.GetMappedStoreObjects(StoreObjectType.Table).FirstOrDefault();
215-
if (declaringTable.Name == null)
214+
var columnName = property.GetColumnName(storeObject);
215+
if (columnName == null)
216216
{
217-
declaringTable = storeObject;
217+
continue;
218218
}
219-
if (property.GetValueGenerationStrategy(declaringTable) == JetValueGenerationStrategy.IdentityColumn)
219+
if (property.GetValueGenerationStrategy(storeObject) == JetValueGenerationStrategy.IdentityColumn)
220220
{
221-
var columnName = property.GetColumnName(declaringTable);
222-
if (columnName == null)
223-
{
224-
continue;
225-
}
226-
227221
identityColumns[columnName] = property;
228222
}
229223
}

test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8346,6 +8346,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest
83468346
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_table_splitting
83478347
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_table_splitting_with_schema
83488348
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_TPH
8349+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_view_splitting
8350+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_view_splitting_with_schema
83498351
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Complex_properties_can_be_configured_by_type
83508352
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Complex_properties_not_discovered_by_convention
83518353
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Configuring_direction_on_RowsAffectedParameter_throws
@@ -8615,6 +8617,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest
86158617
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_upgrade_candidate_key_to_primary_key
86168618
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_table_splitting
86178619
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_table_splitting_with_schema
8620+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_view_splitting
8621+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_view_splitting_with_schema
86188622
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Cannot_add_shared_type_when_non_shared_exists
86198623
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Configuring_direction_on_RowsAffectedParameter_throws
86208624
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Conflicting_sproc_rows_affected_parameter_and_result_column_throw
@@ -8998,6 +9002,7 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest
89989002
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_map_derived_of_owned_type_first
89999003
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_use_sproc_mapping_with_owned_reference
90009004
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_use_table_splitting_with_owned_reference
9005+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_use_view_splitting_with_owned_collection
90019006
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Changing_ownership_uniqueness_throws
90029007
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.CLR_base_type_can_be_owned_when_not_in_hierarchy
90039008
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Configuring_base_type_as_owned_throws
@@ -9068,6 +9073,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericT
90689073
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_table_splitting
90699074
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_table_splitting_with_schema
90709075
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_TPH
9076+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_view_splitting
9077+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_view_splitting_with_schema
90719078
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Complex_properties_can_be_configured_by_type
90729079
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Complex_properties_not_discovered_by_convention
90739080
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Configuring_direction_on_RowsAffectedParameter_throws
@@ -9337,6 +9344,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericT
93379344
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_upgrade_candidate_key_to_primary_key
93389345
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_table_splitting
93399346
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_table_splitting_with_schema
9347+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_view_splitting
9348+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_view_splitting_with_schema
93409349
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Cannot_add_shared_type_when_non_shared_exists
93419350
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Configuring_direction_on_RowsAffectedParameter_throws
93429351
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Conflicting_sproc_rows_affected_parameter_and_result_column_throw
@@ -9720,6 +9729,7 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericT
97209729
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_map_derived_of_owned_type_first
97219730
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_use_sproc_mapping_with_owned_reference
97229731
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_use_table_splitting_with_owned_reference
9732+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_use_view_splitting_with_owned_collection
97239733
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Changing_ownership_uniqueness_throws
97249734
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.CLR_base_type_can_be_owned_when_not_in_hierarchy
97259735
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Configuring_base_type_as_owned_throws

test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8418,6 +8418,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest
84188418
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_table_splitting
84198419
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_table_splitting_with_schema
84208420
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_TPH
8421+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_view_splitting
8422+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Can_use_view_splitting_with_schema
84218423
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Complex_properties_can_be_configured_by_type
84228424
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Complex_properties_not_discovered_by_convention
84238425
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericComplexType.Configuring_direction_on_RowsAffectedParameter_throws
@@ -8687,6 +8689,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest
86878689
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_upgrade_candidate_key_to_primary_key
86888690
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_table_splitting
86898691
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_table_splitting_with_schema
8692+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_view_splitting
8693+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Can_use_view_splitting_with_schema
86908694
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Cannot_add_shared_type_when_non_shared_exists
86918695
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Configuring_direction_on_RowsAffectedParameter_throws
86928696
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericNonRelationship.Conflicting_sproc_rows_affected_parameter_and_result_column_throw
@@ -9070,6 +9074,7 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest
90709074
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_map_derived_of_owned_type_first
90719075
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_use_sproc_mapping_with_owned_reference
90729076
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_use_table_splitting_with_owned_reference
9077+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Can_use_view_splitting_with_owned_collection
90739078
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Changing_ownership_uniqueness_throws
90749079
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.CLR_base_type_can_be_owned_when_not_in_hierarchy
90759080
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderGenericTest+JetGenericOwnedTypes.Configuring_base_type_as_owned_throws
@@ -9140,6 +9145,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericT
91409145
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_table_splitting
91419146
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_table_splitting_with_schema
91429147
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_TPH
9148+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_view_splitting
9149+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Can_use_view_splitting_with_schema
91439150
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Complex_properties_can_be_configured_by_type
91449151
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Complex_properties_not_discovered_by_convention
91459152
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericComplexType.Configuring_direction_on_RowsAffectedParameter_throws
@@ -9409,6 +9416,8 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericT
94099416
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_upgrade_candidate_key_to_primary_key
94109417
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_table_splitting
94119418
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_table_splitting_with_schema
9419+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_view_splitting
9420+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Can_use_view_splitting_with_schema
94129421
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Cannot_add_shared_type_when_non_shared_exists
94139422
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Configuring_direction_on_RowsAffectedParameter_throws
94149423
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericNonRelationship.Conflicting_sproc_rows_affected_parameter_and_result_column_throw
@@ -9792,6 +9801,7 @@ EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericT
97929801
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_map_derived_of_owned_type_first
97939802
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_use_sproc_mapping_with_owned_reference
97949803
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_use_table_splitting_with_owned_reference
9804+
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Can_use_view_splitting_with_owned_collection
97959805
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Changing_ownership_uniqueness_throws
97969806
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.CLR_base_type_can_be_owned_when_not_in_hierarchy
97979807
EntityFrameworkCore.Jet.FunctionalTests.ModelBuilding.JetModelBuilderNonGenericTest+JetNonGenericOwnedTypes.Configuring_base_type_as_owned_throws

0 commit comments

Comments
 (0)