• 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)

Aruba Cloud - Virtual Private Server VPS
0 głosów
157 wizyt
pytanie zadane 5 czerwca 2024 w C# przez Chudy94 Nowicjusz (120 p.)
edycja 5 czerwca 2024 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 2024 przez adrian17 Mentor (352,580 p.)
Pokażesz definicję CartDetail i skąd widzisz że nie jest wpisywany PK?
komentarz 5 czerwca 2024 przez Chudy94 Nowicjusz (120 p.)
edycja 5 czerwca 2024 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 2024 przez Chudy94 Nowicjusz (120 p.)
Czy to o tą definicję chodzi? sorki chodziło o Orderdetail.
komentarz 5 czerwca 2024 przez VBService Ekspert (256,600 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 2024 przez adrian17 Mentor (352,580 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 czerwca 2024 przez VBService Ekspert (256,600 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,847 wizyt
pytanie zadane 7 sierpnia 2016 w Systemy operacyjne, programy przez BinaryMan Stary wyjadacz (12,620 p.)
0 głosów
1 odpowiedź 307 wizyt
pytanie zadane 8 lutego 2021 w C# przez OlekS Początkujący (280 p.)
0 głosów
1 odpowiedź 848 wizyt
pytanie zadane 10 marca 2023 w Inne języki przez kubekszklany Gaduła (3,250 p.)

93,331 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,667 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...