Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Maros2470
Člen
Avatar
Maros2470:26.9.2014 20:21

Zdravím. V ASP.NET databázi používám k načtení dat LINQ dotazy. Potřebovalbych poradit jak zapsat do jednoho dotazu dvě podmínky. Mám to takto:

if (NapetiId.HasValue && NapetiId > 0)
            {
                query = query.Where(p => p.NapetiID == NapetiId);
            }

Potřeboval bych tam přidat další podmínku výběru:

z=> z.ZavitID == ZavitId

Díky za rady.

 
Odpovědět
26.9.2014 20:21
Avatar
Maros2470
Člen
Avatar
Maros2470:27.9.2014 9:15

Pro úplnost celý kód vypadá takto:

public IQueryable<Zbozi> GetZbozis([QueryString("id")] int? NapetiId)
        {
            var _db = new eli_elektro.Models.PriceContext();
            IQueryable<Zbozi> query = _db.Zbozis;
            if (NapetiId.HasValue && NapetiId > 0)
            {
                query = query.Where(p => p.NapetiID == NapetiId);
            }
            return query;
        }

Potřebuji tam dodat další podmínku výběru dat jak jsem psal již dříve.

Editováno 27.9.2014 9:15
 
Nahoru Odpovědět
27.9.2014 9:15
Avatar
Maros2470
Člen
Avatar
Maros2470:27.9.2014 9:22

A ještě jedna otázka k tomuto dotazu. Jak docílit toho, aby se opakovaný záznam zobrazoval jen jednou?
Děkuji

 
Nahoru Odpovědět
27.9.2014 9:22
Avatar
Odpovídá na Maros2470
sadlomaslox25:27.9.2014 15:15
query = query.Where(p => p.NapetiID == NapetiId&&p.ZavitID == ZavitId).Distinct();

//nebo

query = query.Where(p => p.NapetiID == NapetiId).Where(z=> z.ZavitID == ZavitId).Distinct();
 
Nahoru Odpovědět
27.9.2014 15:15
Avatar
Maros2470
Člen
Avatar
Odpovídá na sadlomaslox25
Maros2470:27.9.2014 19:41

Díky. Můžeš mi ještě poradit, jak upravit tuto část kódu

public IQueryable<Zbozi> GetZbozis([QueryString("id")] int? NapetiId)

, abych tam dostal

int? ZavitId
 
Nahoru Odpovědět
27.9.2014 19:41
Avatar
Maros2470
Člen
Avatar
Odpovídá na Maros2470
Maros2470:27.9.2014 19:49

Já bych to napsal takto, ale nejsem si vůbec jistý:

public IQueryable<Zbozi> GetZbozis([QueryString("id")] int? NapetiId, int? ZavitId)
 
Nahoru Odpovědět
27.9.2014 19:49
Avatar
Odpovídá na Maros2470
sadlomaslox25:27.9.2014 20:08
public IQueryable<Zbozi> GetZbozis([QueryString("id")] int? NapetiId, [QueryString("zid")] int? ZavitId)

ten kod sem davam docela nerad, protoze si nejsem jisty smyslem davat sem ten kod. durazne doporucuju nastudovat si zaklady.

 
Nahoru Odpovědět
27.9.2014 20:08
Avatar
Maros2470
Člen
Avatar
Odpovídá na sadlomaslox25
Maros2470:27.9.2014 20:16

Díky moc. Postupně studuji.

 
Nahoru Odpovědět
27.9.2014 20:16
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.