Kezdőoldal » Számítástechnika » Programozás » Miért nem működik, hogyha tök...

Miért nem működik, hogyha tök ugyanaz a kettő? C#

Figyelt kérdés

Van öt adatbázis táblám.

User,Admin,Customer,Activation,Permission


Az Activation kapcsolatban van a Userral, ahogy a Permission is, a User meg az Adminnal és a Customerrel.


Az Activation táblába van egy Dátum.


Csináltam egy DataGridet. Amelybe bekérem az Admin táblába szereplőket mezőket és az Activatin táblában szereplő Dátumot.


public IEnumerable<Admin> GetAlldAdmin()

{

using (Database _database = new Database())

{

var entities = _database.Admins

.Where(x => x.User.Permission.Name.Equals("Admin") && x.User.Activation.Status.Equals(true))

.Include(x => x.User)

.Include(x => x.User.Activation)

.ToList();

return entities;

}

}


Fenti kódnál lekérem azokat az Admin táblába szereplő rekordokat, amelyeknek a Permission.Name tulajdonsága megegyezik az Admin-nal, illetve a Status igaz. .includdal veszem bele, hogy a vele kapcsolatban álló táblákban lévő adat is megjelenjen a DataGridben, mivel using blokkon belül vagyunk ezért muszáj. Ha nem using lenne, hanem statikus adatbázis elérés, akkor úgy nem kell belevenni, de mivel aszinkron hívások vannak, ezért muszáj, hogy így legyen, különben hiba léphet fel.


Ugyanezt a dolgot meg akarom tenni a Customernél is:


public IEnumerable<Customer> GetAllCustomer()

{

using (Database _database = new Database())

{

var entities = _database.Customers

.Where(x => x.User.Permission.Name.Equals("Customer") && x.User.Activation.Status.Equals(true))

.Include(x => x.User)

.Include(x => x.User.Activation)

.ToList();

return entities;

}

}


Viszont ezzel a kóddal a DataGridbe nem jelenik meg semmi. Ha kiszedem az .Include-okat és csak simán a .Where és a .ToList szerepel csak akkor működik, de így nem rakja be a DataGridbe az adatokat vagyis berakja, de csak a Customer táblába lévőket és a vele összekapcsolt táblákat nem. Ha a using-ot kiszedem akkor ugyebár berakja.


De így miért nem működik? A két kód teljesen ugyanaz csak az Admin vagy a Customerre kicserélve.


2020. okt. 22. 18:53
 1/6 A kérdező kommentje:
Hát végül megoldottam úgy, hogy nem a Customer-t kérdezem le, hanem a User-t és így működik.
2020. okt. 22. 20:13
 2/6 Lipibácsi válasza:

GetAlldAdmin()

GetAllCustomer()


Nem ugyanaz. :)

2020. okt. 27. 09:07
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
Hu azta. Ezt tudtad kiszűrni? Ezért kellett hozzászólnod? Gratulálok a mély tudáshoz. És most akkor add meg a helyes választ is.
2020. okt. 27. 11:44
 4/6 Lipibácsi válasza:
Figyelj, ha programozni szeretnél, akkor legyél pontos. Olyan elgépeléseid vannak, hogy ihaj. Így nem lehet. A másik pedig, hogyha jól sejtem, ide úgy kopiztad be programot. Az Admin szó elé beszúrtál egy “d” betűt. Látod? Vágod? Szóval a kettő nem ugyanaz. De hogy ez a get all parancsodra van-e hatással, csak te tudhatod. Remélem most is tudtam segíteni. Ha nem, akkor kérdezd a tanárod. Ha van. Arcból pedig vissza.
2020. okt. 27. 20:51
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:

Nem copyztam. A kódba hosszabb a neve. Itt rövidítettem. ;) a d véletlenül maradt benne ;). De úgy látom programozni nem tudsz csak kötekedni:D.


Amiről beszélsz csak egy függvénynév, ergo semmi köze az egészhez, maximum ha nem azzal a névvel hívnám meg, de akkor sikítana egyből az intellisense, hogy ilyen nincs. Ergo megint zsákutcába futottál.


Szóval, ha értelmest választ nem tudsz nyújtani akkor egyáltalán minek írsz?

2020. okt. 27. 23:59
 6/6 A kérdező kommentje:
De amúgy meg, ahogy írtam, megoldottam másképpen...
2020. okt. 28. 00:00

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!