Exemple #1
0
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public CSharpDbContextGenerator(
            [NotNull] IProviderConfigurationCodeGenerator providerConfigurationCodeGenerator,
            [NotNull] IAnnotationCodeGenerator annotationCodeGenerator,
            [NotNull] ICSharpHelper cSharpHelper)
        {
            Check.NotNull(providerConfigurationCodeGenerator, nameof(providerConfigurationCodeGenerator));
            Check.NotNull(annotationCodeGenerator, nameof(annotationCodeGenerator));
            Check.NotNull(cSharpHelper, nameof(cSharpHelper));

            _providerConfigurationCodeGenerator = providerConfigurationCodeGenerator;
            _annotationCodeGenerator            = annotationCodeGenerator;
            _code = cSharpHelper;
        }
Exemple #2
0
        /// <summary>
        /// Generates a code fragment like .UseSqlServer("Database=Foo") which can be used in
        /// <see cref="DbContext.OnConfiguring(DbContextOptionsBuilder)"/> of the generated DbContext.
        /// </summary>
        /// <param name="providerCode">The provider code helper used to generate the fragment.</param>
        /// <param name="connectionString">The connection string to include in the code fragment.</param>
        /// <returns>The code fragment.</returns>
        public static MethodCallCodeFragment GenerateUseProvider(this IProviderConfigurationCodeGenerator providerCode, string connectionString)
        {
            var useProvider = providerCode.GenerateUseProvider(
                connectionString,
                providerCode.GenerateProviderOptions());
            var contextOptions = providerCode.GenerateContextOptions();

            if (contextOptions != null)
            {
                useProvider = useProvider.Chain(contextOptions);
            }

            return(useProvider);
        }
 /// <summary>
 /// Constructor for the Handlebars DbContext generator.
 /// </summary>
 /// <param name="providerConfigurationCodeGenerator">Generator for scaffolding provider.</param>
 /// <param name="annotationCodeGenerator">Annotation code generator.</param>
 /// <param name="cSharpHelper">CSharp helper.</param>
 /// <param name="dbContextTemplateService">Template service for DbContext generator.</param>
 /// <param name="entityTypeTransformationService">Service for transforming entity definitions.</param>
 /// <param name="options">Handlebars scaffolding options.</param>
 public HbsCSharpDbContextGenerator(
     [NotNull] IProviderConfigurationCodeGenerator providerConfigurationCodeGenerator,
     [NotNull] IAnnotationCodeGenerator annotationCodeGenerator,
     [NotNull] IDbContextTemplateService dbContextTemplateService,
     [NotNull] IEntityTypeTransformationService entityTypeTransformationService,
     [NotNull] ICSharpHelper cSharpHelper,
     [NotNull] IOptions <HandlebarsScaffoldingOptions> options)
     : base(providerConfigurationCodeGenerator, annotationCodeGenerator, cSharpHelper)
 {
     ProviderConfigurationCodeGenerator = providerConfigurationCodeGenerator;
     AnnotationCodeGenerator            = annotationCodeGenerator;
     CSharpHelper                    = cSharpHelper;
     DbContextTemplateService        = dbContextTemplateService;
     EntityTypeTransformationService = entityTypeTransformationService;
     _options = options;
 }
        /// <summary>
        ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
        ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
        ///     any release. You should only use it directly in your code with extreme caution and knowing that
        ///     doing so can result in application failures when updating to a new Entity Framework Core release.
        /// </summary>
        public CSharpDbContextGenerator(
            [NotNull] IProviderConfigurationCodeGenerator providerConfigurationCodeGenerator,
            [NotNull] IAnnotationCodeGenerator annotationCodeGenerator,
            [NotNull] ICSharpHelper cSharpHelper,
            [NotNull] LoggingDefinitions loggingDefinitions)
        {
            Check.NotNull(providerConfigurationCodeGenerator, nameof(providerConfigurationCodeGenerator));
            Check.NotNull(annotationCodeGenerator, nameof(annotationCodeGenerator));
            Check.NotNull(cSharpHelper, nameof(cSharpHelper));
            Check.NotNull(loggingDefinitions, nameof(loggingDefinitions));

            _providerConfigurationCodeGenerator = providerConfigurationCodeGenerator;
            _annotationCodeGenerator            = annotationCodeGenerator;
            _code = cSharpHelper;
            _loggingDefinitions = loggingDefinitions;
        }
 public DbContextGenerator(
     IOptions <DbContextOptions> dbContextOptionsAccessor,
     TypeResolverService typeResolver,
     IProviderConfigurationCodeGenerator providerCodeGenerators,
     IAnnotationCodeGenerator annotationCodeGenerator,
     ICSharpHelper cSharpHelper
     ) : base(
         providerCodeGenerators,
         annotationCodeGenerator,
         cSharpHelper
         )
 {
     _code                        = cSharpHelper;
     dbContextOptions             = dbContextOptionsAccessor.Value;
     this.typeResolver            = typeResolver;
     this.providerCodeGenerators  = providerCodeGenerators;
     this.annotationCodeGenerator = annotationCodeGenerator;
     this.cSharpHelper            = cSharpHelper;
 }
        /// <summary>
        /// Constructor for the Handlebars DbContext generator.
        /// </summary>
        /// <param name="legacyProviderCodeGenerators">Legacy provider code generators</param>
        /// <param name="providerCodeGenerators">Generator for scaffolding provider.</param>
        /// <param name="annotationCodeGenerator">Annotation code generator.</param>
        /// <param name="dbContextTemplateService">Template service for DbContext generator.</param>
        /// <param name="cSharpHelper">CSharp helper.</param>
        public HbsCSharpDbContextGenerator(
#pragma warning disable CS0618 // Type or member is obsolete
            IEnumerable <IScaffoldingProviderCodeGenerator> legacyProviderCodeGenerators,
#pragma warning restore CS0618 // Type or member is obsolete
            IEnumerable <IProviderConfigurationCodeGenerator> providerCodeGenerators,
            IAnnotationCodeGenerator annotationCodeGenerator,
            IDbContextTemplateService dbContextTemplateService,
            ICSharpHelper cSharpHelper)
        {
            if (!legacyProviderCodeGenerators.Any() && !providerCodeGenerators.Any())
            {
                throw new ArgumentException(AbstractionsStrings.CollectionArgumentIsEmpty(nameof(providerCodeGenerators)));
            }

            _legacyProviderCodeGenerator        = legacyProviderCodeGenerators.LastOrDefault();
            _providerConfigurationCodeGenerator = providerCodeGenerators.LastOrDefault();
            _annotationCodeGenerator            = annotationCodeGenerator ?? throw new ArgumentNullException(nameof(annotationCodeGenerator));
            DbContextTemplateService            = dbContextTemplateService ?? throw new ArgumentNullException(nameof(dbContextTemplateService));
            _code = cSharpHelper ?? throw new ArgumentNullException(nameof(cSharpHelper));
        }
Exemple #7
0
        public CSharpDbContextGeneratorBase(
            [NotNull] IEnumerable <IScaffoldingProviderCodeGenerator> legacyProviderCodeGenerators,
            [NotNull] IEnumerable <IProviderConfigurationCodeGenerator> providerCodeGenerators,
            [NotNull] IAnnotationCodeGenerator annotationCodeGenerator,
            [NotNull] ICSharpHelper cSharpHelper)
        {
            Check.NotNull(legacyProviderCodeGenerators, nameof(legacyProviderCodeGenerators));
            Check.NotNull(providerCodeGenerators, nameof(providerCodeGenerators));
            Check.NotNull(annotationCodeGenerator, nameof(annotationCodeGenerator));
            Check.NotNull(cSharpHelper, nameof(cSharpHelper));

            if (!legacyProviderCodeGenerators.Any() && !providerCodeGenerators.Any())
            {
                throw new ArgumentException(AbstractionsStrings.CollectionArgumentIsEmpty(nameof(providerCodeGenerators)));
            }

            this._legacyProviderCodeGenerator        = legacyProviderCodeGenerators.LastOrDefault();
            this._providerConfigurationCodeGenerator = providerCodeGenerators.LastOrDefault();
            this._annotationCodeGenerator            = annotationCodeGenerator;
            this._code = cSharpHelper;
        }
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public CSharpDbContextGenerator(
#pragma warning disable CS0618 // Type or member is obsolete
            [NotNull] IEnumerable <IScaffoldingProviderCodeGenerator> legacyProviderCodeGenerators,
#pragma warning restore CS0618 // Type or member is obsolete
            [NotNull] IEnumerable <IProviderConfigurationCodeGenerator> providerCodeGenerators,
            [NotNull] IAnnotationCodeGenerator annotationCodeGenerator,
            [NotNull] ICSharpHelper cSharpHelper)
        {
            Check.NotNull(legacyProviderCodeGenerators, nameof(legacyProviderCodeGenerators));
            Check.NotNull(providerCodeGenerators, nameof(providerCodeGenerators));
            Check.NotNull(annotationCodeGenerator, nameof(annotationCodeGenerator));
            Check.NotNull(cSharpHelper, nameof(cSharpHelper));

            if (!legacyProviderCodeGenerators.Any() && !providerCodeGenerators.Any())
            {
                throw new ArgumentException(AbstractionsStrings.CollectionArgumentIsEmpty(nameof(providerCodeGenerators)));
            }

            _legacyProviderCodeGenerator        = legacyProviderCodeGenerators.LastOrDefault();
            _providerConfigurationCodeGenerator = providerCodeGenerators.LastOrDefault();
            _annotationCodeGenerator            = annotationCodeGenerator;
            _code = cSharpHelper;
        }
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="providerConfigurationCodeGenerator"></param>
 /// <param name="annotationCodeGenerator"></param>
 /// <param name="cSharpHelper"></param>
 public CustomContextWriter([NotNullAttribute] IProviderConfigurationCodeGenerator providerConfigurationCodeGenerator,
                            [NotNullAttribute] IAnnotationCodeGenerator annotationCodeGenerator,
                            [NotNullAttribute] ICSharpHelper cSharpHelper) :
     base(providerConfigurationCodeGenerator, annotationCodeGenerator, cSharpHelper)
 {
 }
 public CSharpNotificationStrategyDbContextGenerator(IProviderConfigurationCodeGenerator providerConfigurationCodeGenerator, IAnnotationCodeGenerator annotationCodeGenerator, ICSharpHelper cSharpHelper) : base(providerConfigurationCodeGenerator, annotationCodeGenerator, cSharpHelper)
 {
 }