EF Core - 添加唯一约束。

4
我想在ASP.NET Core中使用模型生成器添加唯一约束。
  • .NET 5
  • EF Core 5.
以下是我找到的内容:
        modelBuilder.Entity<Ticker>()
            .HasIndex(r => r.Name)
            .IsUnique();

然而,更新数据库后,它添加的是索引而不是约束。是否有方法可以添加约束?感谢你的回答。

1个回答

7
尽管您使用了.HasIndex(r => r.Name).IsUnique(),它会创建一个唯一的Index而不是Constraint,但效果是相同的。它将防止您为Name添加重复值。
然而,在更新数据库后,它添加索引而不是约束。是否有添加约束的方法?
如果您必须添加Constraint,我建议您使用HasAlternateKey方法,该方法使您能够通过放置唯一约束来创建备用键:
modelBuilder.Entity<Ticker>()
           .HasAlternateKey(r => r.Name);

接下来你可以看到它在数据库中添加了唯一约束,如下所示:

enter image description here


谢谢你的回答,很有帮助。 - Arcadio1729

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接