Пример #1
0
        public Property Ctor_populates_properties(CreateViewQuery query, string schema)
        {
            CreateViewMigrationOperation operation = new(query, schema);

            return(operation.Query.Equals(query).Label("Query")
                   .And(operation.Schema == schema).Label("Schema")
                   .And(!operation.IsDestructiveChange).Label(nameof(operation.IsDestructiveChange)));
        }
        public Property CreateView(NonWhiteSpaceString providerName, CreateViewQuery createView, string schema)
        {
            // Arrange
            Lazy <MigrationBuilder> createViewLazy = new(() =>
            {
                MigrationBuilder builder = new(providerName.Item);
                return(builder.CreateView(createView, schema));
            });

            // Act
            return(Prop.Throws <ArgumentNullException, MigrationBuilder>(createViewLazy).Label("ArgumentNullCases")
                   .When(createView is null)
                   .Or(createViewLazy.Value.Operations.Once(op => op is CreateViewMigrationOperation).ToProperty().Label("Builder must have the corresponding operation")).When(createView is not null));
        }
 /// <summary>
 ///  Adds a <see cref="MigrationOperation"> to create a view.
 /// </summary>
 /// <param name="builder"></param>i        /// <param name="query"></param>
 /// <param name="schema"></param>
 /// <returns></returns>
 public static MigrationBuilder CreateView(this MigrationBuilder builder, CreateViewQuery query, string schema = null)
 {
     builder.Operations.Add(new CreateViewMigrationOperation(query, schema));
     return(builder);
 }
Пример #4
0
 public CreateViewMigrationOperation(CreateViewQuery query, string schema = null)
 {
     Schema = schema;
     Query  = query ?? throw new ArgumentNullException(nameof(query));
 }