首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复合主键

复合主键
EN

Stack Overflow用户
提问于 2017-08-21 12:36:55
回答 2查看 2.8K关注 0票数 9

所以这是非常直接的。我似乎在网上找不到答案。

在Fluent Migrator中,我看到了用PrimaryKey()标记列的选项,但没有看到任何用于创建复合主键的选项。看起来PrimaryKey也没有过载。

这个是可能的吗?

代码语言:javascript
复制
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

在本例中,我希望使用c2c3作为复合主键

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-21 13:21:41

在FluentMigrator中,您可以创建如下所示的复合主键:

代码语言:javascript
复制
Create.PrimaryKey("PK_Table").OnTable("Table").WithSchema("schemaname")
    .Columns([|"Col1"; "Col2"|])
    |> ignore
票数 11
EN

Stack Overflow用户

发布于 2019-10-09 11:57:58

我似乎记得,您只需将PrimaryKey()方法应用于多个列。因此,要将c2和c3用作复合主键,例如:

代码语言:javascript
复制
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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45797336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档