Я выбил 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
API, позволяющий дублировать первичный ключ ⇐ C#
Место общения программистов C#
-
Anonymous
1749559450
Anonymous
Я выбил 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)]
Подробнее здесь: [url]https://stackoverflow.com/questions/71661347/api-allowing-duplicate-primary-key[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия