所以这很简单。我似乎无法在网上找到答案。
在Fluent Migrator中,我看到了用PrimaryKey()标记列的选项,但是看不到创建复合主键的任何方法。看起来PrimaryKey也没有过载。
这可能吗?
base.Create.Table(tableName).WithColumn("Id").AsGuid().PrimaryKey().NotNullable().Unique()
.WithColumn("c1").AsGuid().NotNullable().Unique()
.WithColumn("c2").AsString().NotNullable()
.WithColumn("c3").AsString().NotNullable()
.WithColumn("c4").AsDateTime()
|> ignore
Run Code Online (Sandbox Code Playgroud)
在此示例中,我想使用c2和c3作为复合主键
在FluentMigrator中,您可以创建一个复合主键,如下所示:
Create.PrimaryKey("PK_Table").OnTable("Table").WithSchema("schemaname")
.Columns([|"Col1"; "Col2"|])
|> ignore
Run Code Online (Sandbox Code Playgroud)
我似乎记得您可以将该PrimaryKey()方法应用于多个列。因此,以使用 c2 和 c3 作为复合主键为例:
base.Create.Table(tableName)
.WithColumn("Id").AsGuid().NotNullable().Unique()
.WithColumn("c1").AsGuid().NotNullable().Unique()
.WithColumn("c2").AsString().NotNullable().PrimaryKey()
.WithColumn("c3").AsString().NotNullable().PrimaryKey()
.WithColumn("c4").AsDateTime()
|> ignore
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
470 次 |
| 最近记录: |