title: Can I use an extension method to add a column AND a foreign key constraint with Fluent Migrator?
body: <p><strong>I have an extension method that is used by several tables:</strong></p>
  
  <pre><code>public static ICreateTableColumnOptionOrWithColumnSyntax WithUser(this ICreateTableWithColumnSyntax tableWithColumnSyntax)
  {
      return tableWithColumnSyntax
          .WithColumn("UserId")
              .AsInt32()
              .Nullable();
  }
  </code></pre>
  
  <p><strong>Here is an example table using it:</strong></p>
  
  <pre><code>Create.Table("UserSettings")
      .WithUser()
      .WithColumn("SomeValue")
          .AsString(1)
          .Nullable();
  </code></pre>
  
  <p><strong>I then have to add a foreign key manually every time like so:</strong></p>
  
  <pre><code>Create.ForeignKey()
      .FromTable("UserSettings")
         .ForeignColumn("UserID")
     .ToTable("Users")
         .PrimaryColumn("Id");
  </code></pre>
  
  <p>Is there a way to package the foreign key declaration in the extension method <code>WithUser()</code> so that I <em>(and more importantly, other people on my team)</em> don't have to specify it every time?</p>