Ho un metodo di estensione che viene utilizzato da diverse tabelle:Posso utilizzare un metodo di estensione per aggiungere una colonna E un vincolo di chiave esterna con Fluent Migrator?
public static ICreateTableColumnOptionOrWithColumnSyntax WithUser(this ICreateTableWithColumnSyntax tableWithColumnSyntax)
{
return tableWithColumnSyntax
.WithColumn("UserId")
.AsInt32()
.Nullable();
}
Ecco una tabella di esempio utilizza:
Create.Table("UserSettings")
.WithUser()
.WithColumn("SomeValue")
.AsString(1)
.Nullable();
Poi devono aggiungere manualmente una chiave esterna ogni volta così:
Create.ForeignKey()
.FromTable("UserSettings")
.ForeignColumn("UserID")
.ToTable("Users")
.PrimaryColumn("Id");
Esiste un modo per impacchettare la dichiarazione di chiave esterna nel metodo di estensione WithUser()
in modo che I (e, più importante, altre persone nel mio team) non sia necessario specificarlo ogni volta?
Qualcuno ha un'idea? – Jared