public virtual InternalModelBuilder Apply(InternalModelBuilder modelBuilder)
        {
            modelBuilder.Annotation(
                SqlServerAnnotationNames.Prefix + SqlServerAnnotationNames.ValueGeneration,
                SqlServerValueGenerationStrategy.Sequence.ToString(),
                ConfigurationSource.Convention);

            var sequence = new Sequence(Sequence.DefaultName) { Model = modelBuilder.Metadata };
            modelBuilder.Annotation(
                SqlServerAnnotationNames.Prefix + RelationalAnnotationNames.Sequence + sequence.Schema + "." + sequence.Name,
                sequence.Serialize(),
                ConfigurationSource.Convention
                );

            modelBuilder.Annotation(
                SqlServerAnnotationNames.Prefix + SqlServerAnnotationNames.DefaultSequenceName,
                sequence.Name,
                ConfigurationSource.Convention);

            modelBuilder.Annotation(
                SqlServerAnnotationNames.Prefix + SqlServerAnnotationNames.DefaultSequenceSchema,
                sequence.Schema,
                ConfigurationSource.Convention);

            return modelBuilder;
        }
Example #2
0
        public virtual Sequence AddOrReplaceSequence([NotNull] Sequence sequence)
        {
            Check.NotNull(sequence, nameof(sequence));

            var model = (Model)Model;

            sequence.Model = model;
            model[RelationalSequenceAnnotation + sequence.Schema + "." + sequence.Name] = sequence.Serialize();

            return(sequence);
        }