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); }
public CreateViewMigrationOperation(CreateViewQuery query, string schema = null) { Schema = schema; Query = query ?? throw new ArgumentNullException(nameof(query)); }