EntityFramework 7 和唯一约束(数据注释或流体)

EntityFramework 7 and Unique constraint (Data Annotations or Fluid)

我一直在网上搜索一种方法来创建唯一约束,首先使用带有数据注释的代码或使用 Fluid API for Entityframework 7..这是否尚未实现或如何实现来吧,我找不到有关此的任何信息? 关于如何使用代码优先和 EF7 创建此类约束的任何想法? 无论如何在我的 OnModelCreating 结束时执行 SQL-脚本以 "manually" 创建约束,同时我等待更多 "solid" 的方式来做到这一点?

Br, 指数

您可以使用备用键:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Car>()
            .HasAlternateKey(c => c.LicensePlate);
    }

它们是通过 SQL 服务器的唯一索引强制执行的,参见 https://docs.microsoft.com/en-us/ef/core/modeling/alternate-keys

我相信你可以使用 fluent API 来做到这一点,不过我还没有找到 DataAnnotation。

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<EntityClass>(entity =>
        {
            entity.HasIndex(e => e.Index).IsUnique();
        });
    }