public static void RemoveDefaultDiscriminator( this MappingFragment entityTypeMappingFragment, EntitySetMapping entitySetMapping) { DebugCheck.NotNull(entityTypeMappingFragment); var discriminatorColumn = entityTypeMappingFragment.RemoveDefaultDiscriminatorCondition(); if (discriminatorColumn != null) { var table = entityTypeMappingFragment.Table; table.Properties .Where(c => c.Name.Equals(discriminatorColumn.Name, StringComparison.Ordinal)) .ToList() .Each(table.RemoveMember); } if (entitySetMapping != null && entityTypeMappingFragment.IsConditionOnlyFragment() && !entityTypeMappingFragment.ColumnConditions.Any()) { var entityTypeMapping = entitySetMapping.EntityTypeMappings.Single( etm => etm.MappingFragments.Contains(entityTypeMappingFragment)); entityTypeMapping.RemoveFragment(entityTypeMappingFragment); if (entityTypeMapping.MappingFragments.Count == 0) { entitySetMapping.RemoveTypeMapping(entityTypeMapping); } } }
public void Cannot_remove_type_mapping_when_read_only() { var entityContainerMapping = new EntityContainerMapping(new EntityContainer("C", DataSpace.CSpace)); var entitySetMapping = new EntitySetMapping(new EntitySet(), entityContainerMapping); var entityTypeMapping = new EntityTypeMapping(entitySetMapping); entitySetMapping.AddTypeMapping(entityTypeMapping); entitySetMapping.SetReadOnly(); Assert.Equal( Strings.OperationOnReadOnlyItem, Assert.Throws <InvalidOperationException>( () => entitySetMapping.RemoveTypeMapping(entityTypeMapping)).Message); }
public void Can_add_remove_type_mapping() { var storageSetMapping = new EntitySetMapping( new EntitySet(), new EntityContainerMapping(new EntityContainer("C", DataSpace.CSpace))); Assert.Empty(storageSetMapping.TypeMappings); var entityTypeMapping = new EntityTypeMapping(storageSetMapping); storageSetMapping.AddTypeMapping(entityTypeMapping); Assert.Same(entityTypeMapping, storageSetMapping.TypeMappings.Single()); storageSetMapping.RemoveTypeMapping(entityTypeMapping); Assert.Empty(storageSetMapping.TypeMappings); }
public void Can_add_remove_type_mapping() { var storageSetMapping = new EntitySetMapping( new EntitySet(), new EntityContainerMapping(new EntityContainer("C", DataSpace.CSpace))); Assert.Empty(storageSetMapping.TypeMappings); var entityTypeMapping = new EntityTypeMapping(storageSetMapping); storageSetMapping.AddTypeMapping(entityTypeMapping); Assert.Same(entityTypeMapping, storageSetMapping.TypeMappings.Single()); storageSetMapping.RemoveTypeMapping(entityTypeMapping); Assert.Empty(storageSetMapping.TypeMappings); }
public void Cannot_remove_type_mapping_when_read_only() { var entityContainerMapping = new EntityContainerMapping(new EntityContainer("C", DataSpace.CSpace)); var entitySetMapping = new EntitySetMapping(new EntitySet(), entityContainerMapping); var entityTypeMapping = new EntityTypeMapping(entitySetMapping); entitySetMapping.AddTypeMapping(entityTypeMapping); entitySetMapping.SetReadOnly(); Assert.Equal( Strings.OperationOnReadOnlyItem, Assert.Throws<InvalidOperationException>( () => entitySetMapping.RemoveTypeMapping(entityTypeMapping)).Message); }