je la configuration suivante dans l'entité:Entity Framework des variables de nidification
public class t_HT
{
public int UNID { get; set; }
public string Name { get; set; }
public ICollection<t_HTC> Comments { get; set; }
}
ET
public class t_HTC
{
public int UNID { get; set; }
public int HTID { get; set; }
[ForeignKey("HTID")]
public t_HT HT { get; set; }
public int CId { get; set; }
[ForeignKey("CId")]
public t_C C { get; set; }
}
ET
public class t_C
{
public int UNID { get; set; }
public string Name { get; set; }
public ICollection<t_HTC> Comments { get; set; }
}
Lorsque les relations sont les suivantes:
Beaucoup t_HTC
à o ne t_HT
Un t_HT
à beaucoup t_HTC
ET
Beaucoup t_HTC
à un t_C
Un t_C
à beaucoup t_HTC
Cette configuration fonctionne très bien et réalise ce que je dois.
Cependant, lors de l'interrogation en utilisant C#
et Linq/Entity
je peux faire ce qui suit:
var queryHt = context.ht.include(x => x.htc);
ET
var queryC = context.c.include(x => x.htc);
ou l'autre de ceux-ci reviendront un seul t_ht
avec une liste imbriquée de t_htc
OU une simple t_c
avec une liste imbriquée de t_htc
Cependant, ce que je veux réaliser est:
un seul t_ht
, avec une liste imbriquée de t_htc
, puis pour t_htc
d'inclure l'entrée correspondante dans t_c
Je sais que je peux y parvenir en effectuant une join qui rejoint queryC
en queryHt
mais cela semble un peu long à faire à ce sujet.
L'entité peut-elle réaliser ce que j'essaie de faire?
Veuillez noter que les noms de variables ont été ajustés pour les besoins de cette question, et que ce n'est pas le cas dans mon code actuel.