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

Dodawanie danych do dwóch Tabel w jednym widoku .

VPS Starter Arubacloud
0 głosów
434 wizyt
pytanie zadane 10 maja 2018 w C# przez marines231 Nowicjusz (160 p.)

Witam . Realizuje projekt zadany przez nauczyciela w Visual Studio 2017 ASP.NET MVC z użyciem Entity Framework . Utworzyłem bazę danych , wgrałem ją przy pomocy EF do projektu .

Mam już proste logowanie i po zalogowaniu chciałbym wprowadzać dane do tabeli "osoby" i "logowanie" w jednym widoku .

Wykonywałem wiele poradników znalezionych w sieci ale bez skutku . Pierwsza sprawa :
- Jeśli mam w Models pliki nazwa_tabeli.cs utworzone automatycznie przez EF to muszę tworzyć nową klasę która połączy dwie tabele a jeśli tak to co należy tam umieścić?
- Czy kontroler może być wygenerowany na podstawie powyższego modelu lub tych gotowych klas czy trzeba go pisać od zera?
- Korzystałem z tych źródeł , bez skutku:
https://www.youtube.com/watch?v=DLDrTxGpA1k
https://www.codeproject.com/Tips/651495/Inserting-Data-into-Multiple-Tables-using-Code-Fir
https://stackoverflow.com/questions/23429888/best-way-to-insert-data-to-multiple-table-mvc-asp
https://www.c-sharpcorner.com/UploadFile/219d4d/working-with-multiple-tables-in-mvc-using-entity-framework/
 

Pliki osoby.cs oraz logowanie.cs
logowanie:

namespace prace_dyplomowe.Models
{
    using System;
    using System.Collections.Generic;
    
    public partial class logowanie
    {
        public int id_logowanie { getset; }
        public string login { getset; }
        public string haslo { getset; }
        public int id_osoby { getset; }
    
        public virtual osoby osoby { getset; }
    }
}

osoby:

namespace prace_dyplomowe.Models
{
    using System;
    using System.Collections.Generic;
    
    public partial class osoby
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage""CA2214:DoNotCallOverridableMethodsInConstructors")]
        public osoby()
        {
            this.dziekan = new HashSet<dziekan>();
            this.logowanie = new HashSet<logowanie>();
            this.promotor = new HashSet<promotor>();
            this.student = new HashSet<student>();
        }
    
        public int id_osoby { getset; }
        public string imie { getset; }
        public string nazwisko { getset; }
        public int nr_identyfikacyjny { getset; }
        public int id_uprawnienia { getset; }
    
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage""CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<dziekan> dziekan { getset; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage""CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<logowanie> logowanie { getset; }
        public virtual uprawnienia uprawnienia { getset; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage""CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<promotor> promotor { getset; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage""CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<student> student { getset; }
    }
}

1 odpowiedź

0 głosów
odpowiedź 12 maja 2018 przez pulson666 Stary wyjadacz (12,560 p.)
Oczywiście, że możesz.

Robiąc brzydko to używając klasy encji na widoku Logowanie, masz dostęp poprzez klucz obcy do tabeli osoby.

Robiąc dobrze, tworzysz swój własny model w którym masz wszystkie rzeczy jakie Cie interesują np Imię nazwisko login i hasło. Ten model zwracasz na widok uzupełniasz danymi i wysyłasz do kontrolera. W kontrolerze dzieje się już reszta, czyli połączenie tych danych do istniejącego modelu

Podobne pytania

0 głosów
0 odpowiedzi 75 wizyt
pytanie zadane 27 lutego 2019 w C i C++ przez bartekUW Początkujący (360 p.)
0 głosów
0 odpowiedzi 285 wizyt
+1 głos
1 odpowiedź 746 wizyt
pytanie zadane 9 listopada 2020 w PHP przez ariva6152 Użytkownik (570 p.)

92,453 zapytań

141,262 odpowiedzi

319,086 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...