public void Configure_association_set_should_call_configure_function_configurations() { var modificationFunctionsConfiguration = new ModificationStoredProceduresConfiguration(); var mockModificationFunctionConfiguration = new Mock <ModificationStoredProcedureConfiguration>(); modificationFunctionsConfiguration.Insert(mockModificationFunctionConfiguration.Object); modificationFunctionsConfiguration.Delete(mockModificationFunctionConfiguration.Object); var entitySet = new EntitySet(); entitySet.ChangeEntityContainerWithoutCollectionFixup(new EntityContainer("C", DataSpace.CSpace)); var storageModificationFunctionMapping = new ModificationFunctionMapping( entitySet, new EntityType("E", "N", DataSpace.CSpace), new EdmFunction("F", "N", DataSpace.SSpace), new ModificationFunctionParameterBinding[0], null, null); modificationFunctionsConfiguration.Configure( new AssociationSetModificationFunctionMapping( new AssociationSet("AS", new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace)), storageModificationFunctionMapping, storageModificationFunctionMapping), ProviderRegistry.Sql2008_ProviderManifest); mockModificationFunctionConfiguration .Verify( m => m.Configure(storageModificationFunctionMapping, It.IsAny <DbProviderManifest>()), Times.Exactly(2)); }
internal void Configure( AssociationSetMapping associationSetMapping, DbDatabaseMapping databaseMapping, DbProviderManifest providerManifest) { DebugCheck.NotNull(associationSetMapping); DebugCheck.NotNull(databaseMapping); DebugCheck.NotNull(providerManifest); // We may apply configuration twice from two different NavigationPropertyConfiguration objects, // but that should be okay since they were validated as consistent above. // We still apply twice because each object may have different pieces of the full configuration. if (AssociationMappingConfiguration != null) { // This may replace a configuration previously set, but that's okay since we validated // consistency when processing the configuration above. associationSetMapping.SetConfiguration(this); AssociationMappingConfiguration .Configure(associationSetMapping, databaseMapping.Database, _navigationProperty); } if (_modificationStoredProceduresConfiguration != null) { if (associationSetMapping.ModificationFunctionMapping == null) { new ModificationFunctionMappingGenerator(providerManifest) .Generate(associationSetMapping, databaseMapping); } _modificationStoredProceduresConfiguration .Configure(associationSetMapping.ModificationFunctionMapping, providerManifest); } }
public void Configure_should_call_configure_function_configurations() { var modificationFunctionsConfiguration = new ModificationStoredProceduresConfiguration(); var mockModificationFunctionConfiguration = new Mock<ModificationStoredProcedureConfiguration>(); modificationFunctionsConfiguration.Insert(mockModificationFunctionConfiguration.Object); modificationFunctionsConfiguration.Update(mockModificationFunctionConfiguration.Object); modificationFunctionsConfiguration.Delete(mockModificationFunctionConfiguration.Object); var entitySet = new EntitySet(); entitySet.ChangeEntityContainerWithoutCollectionFixup(new EntityContainer("C", DataSpace.CSpace)); var storageModificationFunctionMapping = new ModificationFunctionMapping( entitySet, new EntityType("E", "N", DataSpace.CSpace), new EdmFunction("F", "N", DataSpace.SSpace), new ModificationFunctionParameterBinding[0], null, null); modificationFunctionsConfiguration.Configure( new EntityTypeModificationFunctionMapping( new EntityType("E", "N", DataSpace.CSpace), storageModificationFunctionMapping, storageModificationFunctionMapping, storageModificationFunctionMapping), ProviderRegistry.Sql2008_ProviderManifest); mockModificationFunctionConfiguration .Verify( m => m.Configure(storageModificationFunctionMapping, It.IsAny<DbProviderManifest>()), Times.Exactly(3)); }
private void ConfigureModificationStoredProcedures( DbDatabaseMapping databaseMapping, EntityType entityType, DbProviderManifest providerManifest) { DebugCheck.NotNull(entityType); DebugCheck.NotNull(databaseMapping); DebugCheck.NotNull(providerManifest); if (_modificationStoredProceduresConfiguration != null) { new ModificationFunctionMappingGenerator(providerManifest) .Generate(entityType, databaseMapping); var modificationStoredProcedureMapping = databaseMapping.GetEntitySetMappings() .SelectMany(esm => esm.ModificationFunctionMappings) .SingleOrDefault(mfm => mfm.EntityType == entityType); if (modificationStoredProcedureMapping != null) { _modificationStoredProceduresConfiguration.Configure(modificationStoredProcedureMapping, providerManifest); } } }