LETNÍ AKCE JE TADY! Pouze dnes můžeš získat až 90 % extra kreditů ZDARMA při dobití od 1199 kreditů s promo kódem TEPLO90.
LETNÍ AKCE JE TADY! Pouze dnes můžeš získat až 90 % extra kreditů ZDARMA při dobití od 1199 kreditů s promo kódem SLUNCE90.
NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Avatar
Jan Pekala
Člen
Avatar
Jan Pekala:22.2.2018 19:42

Ahojte, mám entitu User, která vypadá následovně

public class User
{
    public int UserId { get; set; }
    public string Name { get; set; }
    public DateTime CreatedAt { get; set; }

    public virtual Settings Settings { get; set; }
    public ICollection<Information> Informations { get; set; }
}

Potřeboval bych vytáhnout tu kolekci informací spolu s odkazem na Settings objekt, zkouším to přes následující funkci:

public List<User> LoadUsers(params string[] includes)
{
    var query = this.Database.Users.Select(u => u);
    foreach (string include in includes)
    {
        query.Include(include);
    }

    query.OrderByDescending(u => u.UserId);
    return query.ToList();
}

a volám ji takhle

List<User> users = this.UserRepository.LoadUsers("Settings", "Informations");

Jen je problém, že Information je vždy null, ale settings to chytne :-(
Migrace hotová a databáze updatovaná.
Nevíte čím to může být ?
Díky moc

 
Odpovědět
22.2.2018 19:42
Avatar
JOF
Tvůrce
Avatar
Odpovídá na Jan Pekala
JOF:23.2.2018 16:06

Ahoj,

zkus upravit příkaz query.Include(in­clude); na query = query.Include(in­clude);.
To, že ti to "chytne" Settings nemusí být pravda, protože Settings máš definované jako virtual, takže mohou být donačteny LazyLoadingem, zatímco Information ne.

 
Nahoru Odpovědět
23.2.2018 16:06
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 2 zpráv z 2.