Miért nem működik, hogyha tök ugyanaz a kettő? C#
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.
GetAlldAdmin()
GetAllCustomer()
Nem ugyanaz. :)
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?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!