/// <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; }
/// <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); }