• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie generuje mi się PK(klucz główny)

Object Storage Arubacloud
0 głosów
62 wizyt
pytanie zadane 5 czerwca w C# przez Chudy94 Nowicjusz (120 p.)
edycja 5 czerwca przez Chudy94

Witam wszystkich, mam problem z generowniem klucza głównego. kompletnie nie wiem na czym polega błąd i jak go okiełznać. 
tutaj wstawiam część kodu odpowiedzialną za generowanie danych w bazie:
 

 foreach (var item in cartDetail)
 {
     var orderDetail = new OrderDetail
     {
         CartDetailId = item.Id,
         OrderId = order.Id,
         Quantity = item.Quantity,
         UnitPrice = item.UnitPrice
     };
     await _db.OrderDetails.AddAsync(orderDetail);
                     
 }
    await _db.SaveChangesAsync();

 Tak naprawde nie wiem jaka część kodu mam wstawić bo wszystkie dane sie uzupełniają ale brakuje automatycznego uzupełnienia PK dla tabeli OrderDetail. Działam na EntityFrameworkCore.
Z góry dzięki za pomoc.

komentarz 5 czerwca przez adrian17 Ekspert (346,840 p.)
Pokażesz definicję CartDetail i skąd widzisz że nie jest wpisywany PK?
komentarz 5 czerwca przez Chudy94 Nowicjusz (120 p.)
edycja 5 czerwca przez Chudy94

Widzę to podczas debugowania aplikacji. Wrzucę nawet screena

    public class OrderDetail
    {
        public int Id { get; set; }
        [Required]
        public int OrderId { get; set; }
        [Required]
        public int CartDetailId { get; set; }
        [Required]
        public int Quantity { get; set; }
        [Required]
        public double UnitPrice { get; set; }
        public Order Order { get; set; }
        public CartDetail CartDetails { get; set; }


    }

Nie wiem jak tu się dodaje zdjęcie xd

komentarz 5 czerwca przez Chudy94 Nowicjusz (120 p.)
Czy to o tą definicję chodzi? sorki chodziło o Orderdetail.
komentarz 5 czerwca przez VBService Ekspert (254,820 p.)

A to nie powinno być tak, że z poziomu bazy danych powinien być generowany PK, w trakcie tworzenia pola ID w tabeli? (np. za pomocą sql-a. id INT AUTO_INCREMENT PRIMARY KEY)

1
komentarz 6 czerwca przez adrian17 Ekspert (346,840 p.)

To jest ORM, wszystko powinno być automagiczne. Z dokumentacji EF:

By convention, a property named Id or <type name>Id will be configured as the primary key of an entity.

Dlatego jeszcze nie rozumiem co może być nie tak.

komentarz 6 dni temu przez VBService Ekspert (254,820 p.)

To jest ORM ...

no właśnie, dziwne, ciekawa sprawa, tym bardziej, że

... d will be configured as the primary key of an entity.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
4 odpowiedzi 2,487 wizyt
pytanie zadane 7 sierpnia 2016 w Systemy operacyjne, programy przez BinaryMan Stary wyjadacz (12,620 p.)
0 głosów
1 odpowiedź 156 wizyt
pytanie zadane 8 lutego 2021 w C# przez OlekS Początkujący (280 p.)
0 głosów
1 odpowiedź 558 wizyt
pytanie zadane 10 marca 2023 w Inne języki przez kubekszklany Gaduła (3,210 p.)

92,752 zapytań

141,666 odpowiedzi

320,385 komentarzy

62,100 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...