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

Przekazywanie danych z komponentu do bazy danych - Blazor

0 głosów
75 wizyt
pytanie zadane 6 grudnia 2021 w C# przez ShockWave Bywalec (2,320 p.)
Cześć, mam pytanie co do zapisywania danych z inputów do bazy danych. Mam stworzony komponent do rejestracji w blazor i bazę danych stworzoną z Entity w projekcie. Jak mogę przekazywać value inputa do bazy danych w takim przypadku.

Z góry dziękuję za pomoc.
komentarz 8 grudnia 2021 przez areklipno Stary wyjadacz (10,510 p.)
Masz już jakąś klasę, z którą chciałbyś połączyć inputy i potem przekazać ją do bazy danych? Jeśli tak podaj proszę jej nazwę i z 1 właściwość. Wtedy napiszę jak wg mnie powinno to wyglądać.
komentarz 11 stycznia przez Wiciorny Ekspert (219,270 p.)

@ShockWave, zebrać wartości inputów -> do obiektu po stronie klienta i przesłać ten obiekt ( poprzez funkcje która wskaże konkretny ENDPOINT), który nasłuchiwany lub odbierany będzie przez logike serwera -> akcja oczekiwania na  zdążenie,  z ciałem w postaci np txt/strumienia bitów/xml/jsona nie wiem jakie masz API do tego następnie po stronie twojego serwerowego api odebrać obiekt -> serializować go na obiekt  do bazy i zapisać odpowiednio zczytując pola klucz -> wartość np. 

1 odpowiedź

0 głosów
odpowiedź 11 stycznia przez harryna Gaduła (3,290 p.)

Pisząc do bazy danych, masz na myśli do konkretnej tabeli tak?

Stworzyłeś DbContext bazy? Zrób repozytorium (wzorzec repozytorium), może być generyczny jeśli chcesz się bardziej zanurzyć w programowanie. Z tego co wiem to właśnie w repozytorium stwórz funkcje crudowe (Create, Update, Delete).

Powiedzmy, że Twoja baza danych nazywa się MojaBaza to dzięki Entity możesz stworzyć context, który będzie zawierał wszystkie tabela w bazie MojaBaza. Context ten musi jednak dziedziczyć po DbContext:

public class MojaBazaContext : DbContext
{
    public MojaBazaContext(DbContextOptions<MojaBazaContext> options) : base(options) {}
    
    // teraz tworzę taką jakby instancję mojej tabeli o nazwie jakże skomplikowanej: MojaTabela
   public DbSet<MojaTabela> MojaTabelas { get; set; }
}

 

Tworzysz sobie repo i interfejs do bazy, np.: 

public class MojaBazaRepository : IMojaBazaRepository
{
     private readonly MojaBazaContext _mojaBazaEntities;

     public MojaBazaRepository(MojaBazaContext context)
     {
        _mojaBazaEntities = context;
     }

    public void DodajDaneDoTabeli(MojaTabela daneDoDodania)
    {
       _mojaBazaEntities.MojaTabela.Add(daneDoDodania);
    }
}

 

Po wstrzyknięciu contextu masz dostęp do tabel. Teraz dodajesz funkcję DodajDaneDoTabeli do interfejsu, żebyś mógł z niej korzystać w innych clasach:

public interface IMojaBazaRepository
{
    void DodajDaneDoTabeli(MojaTabela daneDoDodania);
}

Teraz będziesz mógł użyć tej funkcji, np. w kontrolerze:

public class MojController
{
    private readonly IMojaBazaRepository _mojaBazaRepo;

    public MojController()
    {
       _mojaBazaRepo = new MojaBazaRepository();
    }

  public ActionResult DodajDane(MojaTabela daneDoDodania) // tutaj tak naprawdę dodajesz to, co chcesz. Nie musi być tutaj MojaTabela, może być równie dobrze string, int i inne
  {
      _mojaBazaRepo.DodajDaneDoTabeli(daneDoDodania);
  }
}

 

Teraz trzeba tylko pobrać dane z inputa. I używasz funkcji z MojController, czyli DodajDane()

 

Jakbym coś źle napisał to pisz w komentarzu.

 

Najlepiej by też było, gdybyś pokazał swój kod.

 

 

komentarz 11 stycznia przez Wiciorny Ekspert (219,270 p.)

Stworzyłeś DbContext bazy? Zrób repozytorium (wzorzec repozytorium), może być generyczny jeśli chcesz się bardziej zanurzyć w programowanie. Z tego co wiem to właśnie w repozytorium stwórz funkcje crudowe (Create, Update, Delete).

Powiedzmy, że Twoja baza danych nazywa się MojaBaza to dzięki Entity możesz stworzyć context, który będzie zawierał wszystkie tabela w bazie MojaBaza. Context ten musi jednak dziedziczyć po DbContext:

przestudiuj sobie trochę wiedzy w zakresie wzorców, tego o czym piszesz bo wychodzi totalna bzdura, brak zrozumienia pojęć i tego co chcesz przekazać, ktoś czytając to potem będzie to powielał bez sensownie. 

komentarz 13 stycznia przez harryna Gaduła (3,290 p.)
Co Twoim zdaniem jest nie tak? Spotkałem się z takim kodem w pracy już parę razy. Nie jestem nieomylny, ale jeśli to, co napisałem, jest bzdurne to wychodzi na to, że wszystkie projekty w pracy muszę poprawić.

Podobne pytania

0 głosów
1 odpowiedź 67 wizyt
pytanie zadane 5 grudnia 2021 w C# przez ShockWave Bywalec (2,320 p.)
0 głosów
1 odpowiedź 82 wizyt
0 głosów
0 odpowiedzi 61 wizyt
pytanie zadane 10 grudnia 2021 w C# przez dawid628 Początkujący (400 p.)

87,976 zapytań

136,557 odpowiedzi

304,510 komentarzy

58,337 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...