/// <summary> /// Generate the DbContext class. /// </summary> /// <param name="model">Metadata about the shape of entities, the relationships between them, and how they map to the database.</param> /// <param name="contextName">Name of DbContext class.</param> /// <param name="connectionString">Database connection string.</param> /// <param name="contextNamespace">Context namespace.</param> /// <param name="modelNamespace">Model namespace.</param> /// <param name="useDataAnnotations">If false use fluent modeling API.</param> /// <param name="suppressConnectionStringWarning">Suppress connection string warning.</param> /// <param name="suppressOnConfiguring">Suppress OnConfiguring method.</param> /// <returns>DbContext class.</returns> public override string WriteCode(IModel model, string contextName, string connectionString, string contextNamespace, string modelNamespace, bool useDataAnnotations, bool suppressConnectionStringWarning, bool suppressOnConfiguring) { Check.NotNull(model, nameof(model)); if (!string.IsNullOrEmpty(modelNamespace) && string.CompareOrdinal(contextNamespace, modelNamespace) != 0) { _modelNamespace = modelNamespace; } TemplateData = new Dictionary <string, object>(); if (_options.Value.TemplateData != null) { foreach (KeyValuePair <string, object> entry in _options.Value.TemplateData) { TemplateData.Add(entry.Key, entry.Value); } } TemplateData.Add("namespace", contextNamespace); GenerateClass(model, contextName, connectionString, useDataAnnotations, suppressConnectionStringWarning, suppressOnConfiguring); string output = DbContextTemplateService.GenerateDbContext(TemplateData); return(output); }
/// <summary> /// Generate the DbContext class. /// </summary> /// <param name="model">Metadata about the shape of entities, the relationships between them, and how they map to the database.</param> /// <param name="namespace">DbContext namespace.</param> /// <param name="contextName">Name of DbContext class.</param> /// <param name="connectionString">Database connection string.</param> /// <param name="useDataAnnotations">If false use fluent modeling API.</param> /// <param name="suppressConnectionStringWarning">Suppress connection string warning.</param> /// <returns></returns> public virtual string WriteCode( IModel model, string @namespace, string contextName, string connectionString, bool useDataAnnotations, bool suppressConnectionStringWarning) { if (model == null) { throw new ArgumentNullException(nameof(model)); } TemplateData = new Dictionary <string, object>(); TemplateData.Add("namespace", @namespace); GenerateClass(model, contextName, connectionString, useDataAnnotations, suppressConnectionStringWarning); string output = DbContextTemplateService.GenerateDbContext(TemplateData); return(output); }