EF Core уникальная проблема ключевого отношения многих ко многим в корзине продаж - PullRequest
0 голосов
/ 05 августа 2020

Я хочу создать модель корзины для покупок.

Итак, я создал 3 таблицы: Cart, Items, CartItems

public class Cart
{
    public int Id { get; set; }
    public IList<CartItems> CartItems{ get; set; }
}

public class Item
{
    public int Id { get; set; }
    public IList<CartItems> CartItems{ get; set; }
}

public class CartItems
{
    public int CartId { get; set; }
    public Cart Cart { get; set; }

    public int ItemId { get; set; }
    public Item Item { get; set; }
}

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<CartItems>().HasKey(x => new { x.CartId, x.ItemId });
}

Как и в каждой корзине покупок, можно иметь несколько одинаковых товаров в 1 тележке или одинаковые предметы в 2 или более тележках.

Но я не могу ввести два одинаковых предмета в корзину из-за уникального ключа, поэтому что-то пошло не так ... может кто-нибудь подсказать мне, как это должно быть сделать?

1 Ответ

0 голосов
/ 06 августа 2020

Создайте новый «ID» в таблице CartItems и установите этот ID как первичный ключ. И повторно обновите свой dbcontext и модель.

...