【问题标题】:EntityFramework 7 and Unique constraint (Data Annotations or Fluid)EntityFramework 7 和唯一约束(数据注释或流体)
【发布时间】:2016-04-06 14:24:10
【问题描述】:

我一直在网上寻找一种方法来创建唯一约束,首先使用带有数据注释的代码或使用 Entityframework 7 的 Fluid API .. 这还没有实现,或者我为什么找不到任何相关信息? 关于如何使用代码优先和 EF7 创建此类约束的任何想法? 无论如何,在我的 OnModelCreating 结束时执行 SQL 脚本以“手动”创建约束,同时等待更“可靠”的方式来执行此操作?

兄弟, 指数

【问题讨论】:

    标签: unique-constraint entity-framework-core


    【解决方案1】:

    您可以使用备用键:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-14
        • 2011-11-21
        • 2018-12-22
        • 1970-01-01
        • 1970-01-01
        • 2018-12-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多