453 votes

Entity Framework - comprennent plusieurs niveaux de propriétés

La méthode include() fonctionne très bien pour les Listes d'objets. Mais que faire si j'ai besoin d'aller deux niveaux de profondeur? Par exemple, la méthode ci-dessous sera de retour ApplicationServers avec les propriétés affichées ici. Cependant, ApplicationsWithOverrideGroup est un autre récipient qui contient d'autres objets complexes. Puis-je faire un include() sur ce bien ainsi? Ou comment puis-je obtenir la propriété de se charger complètement?

Aujourd'hui, cette méthode:

public IEnumerable<ApplicationServer> GetAll()
{
    return this.Database.ApplicationServers
        .Include(x => x.ApplicationsWithOverrideGroup)                
        .Include(x => x.ApplicationWithGroupToForceInstallList)
        .Include(x => x.CustomVariableGroups)                
        .ToList();
}

Remplissez seulement la propriété Enabled (ci-dessous) et non à la Demande ou CustomVariableGroup propriétés (ci-dessous). Comment puis-je faire cela?

public class ApplicationWithOverrideVariableGroup : EntityBase
{
    public bool Enabled { get; set; }
    public Application Application { get; set; }
    public CustomVariableGroup CustomVariableGroup { get; set; }
}

861voto

Equiso Points 4026
<pre><code></code><p><a href="http://msdn.microsoft.com/en-us/library/gg671236%28v=vs.103%29.aspx#remarksToggle">Remarques</a> pour plus d’exemples.</p><pre><code></code></pre></pre>

82voto

Judo Points 2413

Si je comprends bien vous demandez au sujet notamment des propriétés imbriquées. Dans l’affirmative :

ou

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X