Пример #1
0
        /// <summary>
        /// Initializes a new instance of <see cref="CsdlJsonWriter"/> class.
        /// </summary>
        /// <param name="model">The Edm model.</param>
        /// <param name="writer">The JSON writer.</param>
        /// <param name="settings">The CSDL JSON writer settings.</param>
        /// <param name="edmxVersion">The Edmx version.</param>
        public CsdlJsonWriter(IEdmModel model, Utf8JsonWriter jsonWriter, CsdlJsonWriterSettings settings, Version edmxVersion)
            : base(model, edmxVersion)
        {
            EdmUtil.CheckArgumentNull(jsonWriter, "jsonWriter");
            EdmUtil.CheckArgumentNull(settings, "settings");

            this.jsonWriter = jsonWriter;
            this.settings   = settings;
        }
Пример #2
0
        /// <summary>
        /// Outputs a CSDL JSON artifact to the provided <see cref="Utf8JsonWriter"/> using the settings.
        /// </summary>
        /// <param name="model">The Edm model to be written.</param>
        /// <param name="writer">JSON writer the generated CSDL will be written to.</param>
        /// <param name="settings">The CSDL writer settings.</param>
        /// <param name="errors">Errors that prevented successful serialization, or no errors if serialization was successful. </param>
        /// <returns>A value indicating whether serialization was successful.</returns>
        public static bool TryWriteCsdl(IEdmModel model, Utf8JsonWriter writer, CsdlJsonWriterSettings settings, out IEnumerable <EdmError> errors)
        {
            EdmUtil.CheckArgumentNull(model, nameof(model));
            EdmUtil.CheckArgumentNull(writer, nameof(writer));
            EdmUtil.CheckArgumentNull(settings, nameof(settings));

            Version edmxVersion;

            if (!VerifyAndGetVersion(model, out edmxVersion, out errors))
            {
                return(false);
            }

            CsdlWriter csdlWriter = new CsdlJsonWriter(model, writer, settings, edmxVersion);

            csdlWriter.WriteCsdl();

            errors = Enumerable.Empty <EdmError>();
            return(true);
        }