Я выбил API Swagger. Я пытался сделать свой основной ключ уникальным, но, похоже, это не работает. Мой DBContext был создан с помощью каркасов, и у меня есть сущность (продукт), какая первичная ключ - это строка. Я изменил его вручную так: < /p>
modelBuilder.Entity(entity =>
{
//entity.HasNoKey();
entity.HasKey(e => e.Reference)
.HasName("PRIMARY");
entity.ToTable("cr_product");
entity.HasIndex(e => e.IdCategory, "category");
entity.HasIndex(e => e.IdCompany, "company");
entity.HasIndex(e => e.Reference, "id_product");
entity.HasIndex(e => e.Reference, "references");
entity.Property(e => e.Active)
.HasColumnType("tinyint(1) unsigned")
.HasColumnName("active")
.HasDefaultValueSql("'1'");
entity.Property(e => e.Description)
.IsRequired()
.HasMaxLength(255)
.HasColumnName("description");
entity.Property(e => e.IdCategory)
.HasColumnType("int(6) unsigned")
.HasColumnName("id_category");
entity.Property(e => e.IdCompany)
.HasColumnType("int(6) unsigned")
.HasColumnName("id_company");
entity.Property(e => e.Image)
.IsRequired()
.HasMaxLength(255)
.HasColumnName("image");
entity.Property(e => e.Name)
.IsRequired()
.HasMaxLength(100)
.HasColumnName("name");
entity.Property(e => e.Price)
.HasColumnType("decimal(15,2)")
.HasColumnName("price");
entity.Property(e => e.Reference)
.IsRequired()
.HasMaxLength(15)
.HasColumnName("reference");
entity.Property(e => e.Stock)
.HasColumnType("int(6) unsigned")
.HasColumnName("stock");
entity.Property(e => e.Warehouse)
.HasColumnType("int(6) unsigned")
.HasColumnName("warehouse");
entity.HasOne(d => d.IdCategoryNavigation)
.WithMany()
.HasForeignKey(d => d.IdCategory)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("cr_product_ibfk_1");
entity.HasOne(d => d.IdCompanyNavigation)
.WithMany()
.HasForeignKey(d => d.IdCompany)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("cr_product_ibfk_2");
});
< /code>
Когда я выполняю запрос на сообщение, не имеет значения, является ли эталонное поле (мой основной ключ) дублируется, поскольку он добавит его в мою базу данных. [Index(nameof(Reference), IsUnique = true)]
Подробнее здесь: https://stackoverflow.com/questions/716 ... rimary-key