【发布时间】:2016-12-15 17:46:42
【问题描述】:
我正在使用 EF Core 1.1 并创建了我的一对一关系,例如:
EntityTypeBuilder<Account>
.HasOne(a => a.Customer)
.WithOne(a => a.Account)
.HasForeignKey<Account>(a => a.CustomerId)
现在在我的 DbContext 上使用 Add-Migration 会生成以下内容:
migrationBuilder.CreateIndex(
name: "IX_Accounts_CustomerId",
table: "Accounts",
column: "CustomerId",
unique: true);
有没有办法在 Fluent 中指定从索引中删除唯一性?我不介意生成的索引,但出于我的目的,它不能是唯一的。原因是这些表是可审计的,因此可能存在重复数据(PK 之外)。因此,如果该 FK 实体没有更改(但可能在记录中的其他地方发生更改),则记录可以包含相同的 FK id。
TL;DR 有什么方法可以让 Fluent 中的索引在一对一 FK 中不唯一?
【问题讨论】:
-
如果表可以包含重复项,那么不是
one-to-one,而是one-to-many,你不觉得吗?
标签: .net-core entity-framework-core