• 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

Aruba Cloud - Virtual Private Server VPS
0 głosów
675 wizyt
pytanie zadane 6 grudnia 2021 w C# przez ShockWave Bywalec (2,350 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 (11,930 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 2022 przez Wiciorny Ekspert (280,450 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 2022 przez assassin Gaduła (3,260 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 2022 przez Wiciorny Ekspert (280,450 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 2022 przez assassin Gaduła (3,260 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ź 300 wizyt
pytanie zadane 5 grudnia 2021 w C# przez ShockWave Bywalec (2,350 p.)
0 głosów
1 odpowiedź 345 wizyt
0 głosów
0 odpowiedzi 276 wizyt
pytanie zadane 10 grudnia 2021 w C# przez dawid628 Początkujący (400 p.)

93,335 zapytań

142,328 odpowiedzi

322,406 komentarzy

62,670 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!

...