public void Can_add_and_get_function_mapping() { var storeFunction = EdmFunction.Create("fs", "ns", DataSpace.SSpace, new EdmFunctionPayload(), null); var functionImport = EdmFunction.Create("fs", "ns", DataSpace.SSpace, new EdmFunctionPayload(), null); var mappingContext = new SimpleMappingContext(new EdmModel(DataSpace.SSpace), true); Assert.Empty(mappingContext.MappedStoreFunctions()); mappingContext.AddMapping(storeFunction, functionImport); Assert.Same(functionImport, mappingContext[storeFunction]); Assert.Same(storeFunction, mappingContext.MappedStoreFunctions().Single()); }
private static EntityContainerMapping BuildEntityContainerMapping(SimpleMappingContext mappingContext) { var storeEntityContainer = mappingContext.StoreModel.Containers.Single(); var entityContainerMapping = new EntityContainerMapping( mappingContext[storeEntityContainer], storeEntityContainer, null, false, false); foreach (var entitySetMapping in BuildEntitySetMappings(entityContainerMapping, mappingContext)) { entityContainerMapping.AddSetMapping(entitySetMapping); } foreach (var associationSetMapping in BuildAssociationSetMappings(entityContainerMapping, mappingContext)) { entityContainerMapping.AddSetMapping(associationSetMapping); } foreach (var mappedStoredFunction in mappingContext.MappedStoreFunctions()) { entityContainerMapping.AddFunctionImportMapping( BuildComposableFunctionMapping(mappedStoredFunction, mappingContext)); } return(entityContainerMapping); }
private static EdmModel BuildEntityModel(SimpleMappingContext mappingContext) { var conceptualModelContainer = mappingContext[mappingContext.StoreModel.Containers.Single()]; var entityModel = EdmModel.CreateConceptualModel(conceptualModelContainer, mappingContext.StoreModel.SchemaVersion); foreach (var entityType in mappingContext.ConceptualEntityTypes()) { entityModel.AddItem(entityType); } foreach (var associationSet in mappingContext.ConceptualAssociationSets()) { entityModel.AddItem(associationSet.ElementType); } foreach (var mappedStoredFunction in mappingContext.MappedStoreFunctions()) { var functionImport = mappingContext[mappedStoredFunction]; entityModel.AddItem( (ComplexType) ((CollectionType)functionImport.ReturnParameter.TypeUsage.EdmType).TypeUsage.EdmType); } return(entityModel); }
private static EntityContainerMapping BuildEntityContainerMapping(SimpleMappingContext mappingContext) { var storeEntityContainer = mappingContext.StoreModel.Containers.Single(); var entityContainerMapping = new EntityContainerMapping( mappingContext[storeEntityContainer], storeEntityContainer, null, false, false); foreach (var entitySetMapping in BuildEntitySetMappings(entityContainerMapping, mappingContext)) { entityContainerMapping.AddSetMapping(entitySetMapping); } foreach (var associationSetMapping in BuildAssociationSetMappings(entityContainerMapping, mappingContext)) { entityContainerMapping.AddSetMapping(associationSetMapping); } foreach (var mappedStoredFunction in mappingContext.MappedStoreFunctions()) { entityContainerMapping.AddFunctionImportMapping( BuildComposableFunctionMapping(mappedStoredFunction, mappingContext)); } return entityContainerMapping; }
private static EdmModel BuildEntityModel(SimpleMappingContext mappingContext) { var conceptualModelContainer = mappingContext[mappingContext.StoreModel.Containers.Single()]; var entityModel = EdmModel.CreateConceptualModel(conceptualModelContainer, mappingContext.StoreModel.SchemaVersion); foreach (var entityType in mappingContext.ConceptualEntityTypes()) { entityModel.AddItem(entityType); } foreach (var associationSet in mappingContext.ConceptualAssociationSets()) { entityModel.AddItem(associationSet.ElementType); } foreach (var mappedStoredFunction in mappingContext.MappedStoreFunctions()) { var functionImport = mappingContext[mappedStoredFunction]; entityModel.AddItem( (ComplexType) ((CollectionType)functionImport.ReturnParameter.TypeUsage.EdmType).TypeUsage.EdmType); } return entityModel; }
public void Can_add_and_get_function_mapping() { var storeFunction = EdmFunction.Create("fs", "ns", DataSpace.SSpace, new EdmFunctionPayload(), null); var functionImport = EdmFunction.Create("fs", "ns", DataSpace.SSpace, new EdmFunctionPayload(), null); var mappingContext = new SimpleMappingContext(new EdmModel(DataSpace.SSpace), true); Assert.Empty(mappingContext.MappedStoreFunctions()); mappingContext.AddMapping(storeFunction, functionImport); Assert.Same(functionImport, mappingContext[storeFunction]); Assert.Same(storeFunction, mappingContext.MappedStoreFunctions().Single()); }
public void GenerateFunctions_does_not_generate_functions_for_non_v3_schema_versions() { var storeReturnType = CreateRowType(CreateProperty("foo", PrimitiveTypeKind.Int32)).GetCollectionType(); var returnParameter = FunctionParameter.Create("ReturnType", storeReturnType, ParameterMode.ReturnValue); var storeFunction = EdmFunction.Create( "foo*", "bar", DataSpace.SSpace, new EdmFunctionPayload { ReturnParameters = new[] { returnParameter } }, null); var mappingContext = new SimpleMappingContext(new EdmModel(DataSpace.SSpace), true); Assert.Empty( CreateOneToOneMappingBuilder() .GenerateFunctions( mappingContext, CreateStoreModel(EntityFrameworkVersion.Version1, storeFunction), new UniqueIdentifierService(), new UniqueIdentifierService())); Assert.Empty(mappingContext.MappedStoreFunctions()); Assert.Empty(mappingContext.Errors); Assert.Empty( CreateOneToOneMappingBuilder() .GenerateFunctions( mappingContext, CreateStoreModel(EntityFrameworkVersion.Version2, storeFunction), new UniqueIdentifierService(), new UniqueIdentifierService())); Assert.Empty(mappingContext.MappedStoreFunctions()); Assert.Empty(mappingContext.Errors); }
public void GenerateFunctions_does_not_add_ivalid_functions_to_mapping_context() { var returnParameter = FunctionParameter.Create( "ReturnType", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.Int32), ParameterMode.ReturnValue); var storeFunction = EdmFunction.Create( "foo", "bar", DataSpace.SSpace, new EdmFunctionPayload { ReturnParameters = new[] { returnParameter } }, null); var storeModel = new EdmModel(DataSpace.SSpace); storeModel.AddItem(storeFunction); var mappingContext = new SimpleMappingContext(new EdmModel(DataSpace.SSpace), true); Assert.Empty( CreateOneToOneMappingBuilder() .GenerateFunctions( mappingContext, storeModel, new UniqueIdentifierService(), new UniqueIdentifierService())); Assert.Equal(1, mappingContext.Errors.Count); Assert.Empty(mappingContext.MappedStoreFunctions()); }