Mam metodę rozszerzenia, które jest używane przez kilku tabelach:Czy mogę użyć metody rozszerzającej, aby dodać kolumnę I ograniczenie klucza obcego z Fluent Migrator?
public static ICreateTableColumnOptionOrWithColumnSyntax WithUser(this ICreateTableWithColumnSyntax tableWithColumnSyntax)
{
return tableWithColumnSyntax
.WithColumn("UserId")
.AsInt32()
.Nullable();
}
Oto przykład tabeli używając go:
Create.Table("UserSettings")
.WithUser()
.WithColumn("SomeValue")
.AsString(1)
.Nullable();
I wtedy trzeba ręcznie dodać klucz obcy za każdym razem tak:
Create.ForeignKey()
.FromTable("UserSettings")
.ForeignColumn("UserID")
.ToTable("Users")
.PrimaryColumn("Id");
Czy istnieje sposób na spakowanie deklaracji klucza zagranicznego w metodzie rozszerzenia WithUser()
, aby I (i co ważniejsze, inne osoby w moim zespole) nie musieli podawać go za każdym razem?
Ktoś ma pomysł? – Jared