Kezdőoldal » Számítástechnika » Programozás » Hogy lehet két tábla kapcsoláb...

Hogy lehet két tábla kapcsolába írni?

Figyelt kérdés

[EntityFramework][SQL]


Két tábla many to many kapcsolattal összevan kötve.


Amikor a Modelből legeneráltam az adatbázist létrejött a 3. tábla is, ami tartalmazza a két entitásnak az idegen kulcsát.


Azt a 3. táblát sehogy sem lehet elérni.


Felviszek adatokat, még mind a két táblába pl

A tábla

id | nev

1 Valami

2 Masikvalami


B tábla

id | nev

1 Eszik


C tábla amit generált.

A tábla id | b tábla id

1 1 1

2 2 1


2020. szept. 23. 14:05
 1/6 A kérdező kommentje:
Tehát a C táblába nem lehet sehogy sem berakni, hogy szerepeljenek az A és B tábla elsődleges kulcsai. Az csak üresen áll.
2020. szept. 23. 14:06
 2/6 anonim ***** válasza:

Ez több módon vannak leimplementálva.


Az EntityFramework-öt pont nem ismerem, de ezeket általában ManyToMany megközelítés, mivel te több-több-et akarsz megvalósítani. Itt az a helyzet, hogy a köztes táblát nem is kell elérned. Ha lekérdezed a Valami-t "1" ID-val, akkor a C tábla közvetítésével a B tábla adatait kapod. Ugyanígy, hogy ha A szerint törlöd B elemet, akkor B-ből kiveszi és C-ből is.


Szóval neked direktben a C-t sosem kell elérni. Szoktak hivatkozni a C-re "pivot" táblaként, ha nem csak kapcsolatot valósít meg hanem n:m-hez tartozó adatot is. Pl.: C(id INT, a_id INT, b_id INT, info TEXT)

2020. szept. 23. 14:20
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:

De el kell érni direktbe és bele is kell írni. Hiszen az a lényeg, hogy van két táblám. Legyen mondjuk Hallgatok és Kurzusok. Egy hallgato több kurzushoz is tartozik és egy Kurzushoz több hallgató is. Ha nem töltöd fel a C táblát nem tudod melyik hallgató, melyik kurzushoz tartozik.


Tehát például


A tábla

id|Nev

1 Pista

2 Jenő


B tábla

id|Nev

1 Adatbazisok

2 Analízis


C tábla így nézne ki:

A_id|B.id

1 1

1 2

2 1


Tehát Pista és Jenő Adatbázisokon is vannak, De Pista még analízisen is.


Szóval muszáj beleírni, hogy melyik-melyik. De ez sehogy se megy.


[link]


Ezt is végigbogarásztam már és stackoverflown is voltak ilyen kérdések, de hiába...

2020. szept. 23. 14:31
 4/6 anonim ***** válasza:
2020. szept. 23. 15:36
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:
Nem jó. Például a 2.-nál a végén a lekérdezés, se ad jó eredményt. Azokat is kiírná amelyek nem egyenlőek vele, de ott vannak. :)
2020. szept. 23. 16:33
 6/6 anonim ***** válasza:
Ez a különbség a relációs adatbázis, és az objektum relációk között. Számodra objektumszinten nem létezik a kapcsolótábla, vannak A és B típusú objektumaid, és mindkettőnek van propertyje amin keresztül eléred a hozzá kapcsolódó elemeket a másik osztályból. Objektumszinten nincs szükséges ennél többre. Ahhoz, hogy ez adatbázis szinten működjön, ahhoz kell egy kapcsolótábla, de neked azzal semmi dolgod, az ORM a háttérben menedzseli azt.
2020. szept. 23. 23:41
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!