gpt4 book ai didi

c# - 我可以使用扩展方法通过 Fluent Migrator 添加列和外键约束吗?

转载 作者:太空狗 更新时间:2023-10-29 21:04:58 25 4
gpt4 key购买 nike

我有一个被多个表使用的扩展方法:

public static ICreateTableColumnOptionOrWithColumnSyntax WithUser(this ICreateTableWithColumnSyntax tableWithColumnSyntax)
{
return tableWithColumnSyntax
.WithColumn("UserId")
.AsInt32()
.Nullable();
}

这是一个使用它的示例表:

Create.Table("UserSettings")
.WithUser()
.WithColumn("SomeValue")
.AsString(1)
.Nullable();

然后我每次都必须像这样手动添加一个外键:

Create.ForeignKey()
.FromTable("UserSettings")
.ForeignColumn("UserID")
.ToTable("Users")
.PrimaryColumn("Id");

有没有办法在扩展方法 WithUser() 中打包外键声明,以便我(更重要的是,我团队中的其他人)不必每次都指定它?

最佳答案

这最终比预期的要容易。这是执行此操作的代码:

public static ICreateTableColumnOptionOrWithColumnSyntax WithUser(this ICreateTableWithColumnSyntax tableWithColumnSyntax)
{
return tableWithColumnSyntax
.WithColumn("UserId")
.AsInt32()
.Nullable()
.ForeignKey("Users", "Id");
}

我只是希望这在某处有更好的记录。

关于c# - 我可以使用扩展方法通过 Fluent Migrator 添加列和外键约束吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18477574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com