Avatar
beats.omni
Člen
Avatar
beats.omni:

U entity frameworku se k jednotlivým elementům přistupuje přes tečkovou notaci.

ef = ef.Where(o => o.Jmeno.StartsWith("a"));

Zajímalo by mě, jestli se dá název elemntu dodat i z proměnné, například takhle

var pom = "Jmeno";
ef = ef.Where(o => o.pom.StartsWith("a"));
Editováno 25.5.2015 16:06
 
Odpovědět 25.5.2015 16:05
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na beats.omni
Jan Vargovský:

Ano dá, ale né tak jak ty ukazuješ.

 
Nahoru Odpovědět 25.5.2015 16:43
Avatar
beats.omni
Člen
Avatar
Odpovídá na Jan Vargovský
beats.omni:

A jak by to tedy šlo vyřešit?

 
Nahoru Odpovědět 1.6.2015 18:15
Avatar
beats.omni
Člen
Avatar
Odpovídá na Jan Vargovský
beats.omni:

Prošel jsem pár návodů, ale moc jsem z toho nepochopil. Nebyl by odkaz na něco polopatického (ve stylu zdejších tutoriálů)? Díky.

 
Nahoru Odpovědět 2.6.2015 18:26
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na beats.omni
Jan Vargovský:

Mějme takový model:

class Subject
{
    public string Name { get; set; }
    public int Credits { get; set; }
    public int Points { get; set; }
}

Pak vyhledání skrz propertu Name by mohlo vypadat takhle:

subjects.Find(s => (string)s.GetType().GetProperty("Name").GetValue(s) == "MAIT");

Kdybys to používal více, tak bych si asi napsal extension metodu. Třeba takhle:

public static class Extensions
{
    public static V GetProperty<V>(this object o, string propertyName)
    {
        return (V)o.GetType().GetProperty(propertyName).GetValue(o);
    }
}

A pak volání máš jednodušší:

subjects.Find(s => s.GetProperty<string>("Name") == "MAIT");
Editováno 2.6.2015 18:36
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 2.6.2015 18:35
Avatar
Odpovídá na beats.omni
sadlomaslox25:

radsi nez pouzit to co psal pako bych popsal ceho chces dosahnout. to co popisujes ze bys chtel se normalne nedela takze to nejspis chces neco ohnout pres koleno takze mas spatny navh, coz se ti muze vymstit v budoucnosti.

 
Nahoru Odpovědět 2.6.2015 20:43
Avatar
beats.omni
Člen
Avatar
Odpovídá na sadlomaslox25
beats.omni:

Ahoj, já to momentálně nepotřebuju pro nic konkrétního. Spíše mě zajímalo, jak to funguje a jak se to řeší, kdybych to někdy nepotřeboval.

 
Nahoru Odpovědět 3.6.2015 7:43
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.