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

Object Storage Arubacloud
0 głosów
438 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 76 wizyt
pytanie zadane 27 lutego 2019 w C i C++ przez bartekUW Początkujący (360 p.)
0 głosów
0 odpowiedzi 288 wizyt
+1 głos
1 odpowiedź 772 wizyt
pytanie zadane 9 listopada 2020 w PHP przez ariva6152 Użytkownik (570 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...