public void Add(string edmNamespace, string objectNamespace) { EDesignUtil.CheckStringArgument(edmNamespace, "edmNamespace"); EDesignUtil.CheckArgumentNull(objectNamespace, "objectNamespace"); _map.Add(edmNamespace, objectNamespace); }
public IList <EdmSchemaError> GenerateViews(StorageMappingItemCollection mappingCollection, string outputPath) { EDesignUtil.CheckArgumentNull(mappingCollection, "mappingCollection"); EDesignUtil.CheckStringArgument(outputPath, "outputPath"); TextWriter outputWriter = null; try { return(InternalGenerateViews(mappingCollection, () => new StreamWriter(outputPath), out outputWriter)); } finally { if (outputWriter != null) { outputWriter.Dispose(); } } }
static internal void CheckStringArgument(string value, string parameterName) { EDesignUtil.CheckStringArgument(value, parameterName); }
[ResourceConsumption(ResourceScope.Machine)] //For MetadataArtifactLoader.Create method call. But the path is not created in this method. public IList <EdmSchemaError> GenerateCode(string sourceEdmSchemaFilePath, string targetPath, IEnumerable <string> additionalEdmSchemaFilePaths) { EDesignUtil.CheckStringArgument(sourceEdmSchemaFilePath, "sourceEdmSchemaFilePath"); EDesignUtil.CheckArgumentNull(additionalEdmSchemaFilePaths, "additionalEdmSchemaFilePaths"); EDesignUtil.CheckStringArgument(targetPath, "targetPath"); List <EdmSchemaError> errors = new List <EdmSchemaError>(); try { // create a loader for the source HashSet <string> uriRegistry = new HashSet <string>(); MetadataArtifactLoader sourceLoader; try { sourceLoader = MetadataArtifactLoader.Create(sourceEdmSchemaFilePath, MetadataArtifactLoader.ExtensionCheck.Specific, XmlConstants.CSpaceSchemaExtension, uriRegistry); } catch (MetadataException e) { errors.Add(CreateErrorForException(ModelBuilderErrorCode.CodeGenSourceFilePathIsInvalid, e, sourceEdmSchemaFilePath)); return(errors); } if (sourceLoader.IsComposite) { throw new ArgumentException(Strings.CodeGenSourceFilePathIsNotAFile, "sourceEdmSchemaPath"); } // create loaders for all the additional schemas List <MetadataArtifactLoader> loaders = new List <MetadataArtifactLoader>(); loaders.Add(sourceLoader); int index = 0; foreach (string additionalSchemaFilePath in additionalEdmSchemaFilePaths) { if (additionalSchemaFilePath == null) { throw EDesignUtil.Argument(Strings.NullAdditionalSchema("additionalEdmSchemaFilePaths", index)); } try { MetadataArtifactLoader loader = MetadataArtifactLoader.Create(additionalSchemaFilePath, MetadataArtifactLoader.ExtensionCheck.Specific, XmlConstants.CSpaceSchemaExtension, uriRegistry); Debug.Assert(loader != null, "when is the loader ever null?"); loaders.Add(loader); } catch (Exception e) { if (MetadataUtil.IsCatchableExceptionType(e)) { errors.Add(CreateErrorForException(ModelBuilderErrorCode.CodeGenAdditionalEdmSchemaIsInvalid, e, additionalSchemaFilePath)); } else { throw; } } index++; } ThrowOnAnyNonWarningErrors(errors); try { using (LazyTextWriterCreator target = new LazyTextWriterCreator(targetPath)) { GenerateCodeCommon(sourceLoader, loaders, target, sourceEdmSchemaFilePath, targetPath, true, // dispose readers errors); } } catch (System.IO.IOException ex) { errors.Add(CreateErrorForException(System.Data.EntityModel.SchemaObjectModel.ErrorCode.IOException, ex, targetPath)); return(errors); } } catch (TerminalErrorException) { // do nothing // just a place to jump when errors are detected } return(errors); }