Je suis en train d'obtenir les lignes où la ParentID clé étrangère == 0, ce qui est ce que je suis en train, mais je reçois un NotSupportedException car il ne peut pas traduire le ArrayIndex [0]
:Linq to Entities, vérifiant l'ID de clé étrangère spécifique?
IQueryable<ApplicationSectionNode> topLevelNodeQuery =
from n in uacEntitiesContext.ApplicationSectionNodeSet
where (int)n.Parent.EntityKey.EntityKeyValues[0].Value == 0
orderby n.Sequence
select n;
donc je dois extrayez cet ArrayIndex de la requête afin que l'exécution puisse traduire la requête avec succès. Je ne suis pas sûr de savoir comment faire cela. Comment interroger un objet spécifique via sa clé primaire ou un ensemble d'objets via une clé étrangère? Editer: Notez qu'il n'y a pas réellement de ligne dans la table avec NodeId == 0, le 0 est une valeur magique (pas mon idée) pour indiquer les nœuds de niveau supérieur. Je ne peux pas faire n.Parent.NodeId == 0
Avez-vous essayé "où n.Parent == null"? –
@Mattias qui fonctionne réellement. Je ne pensais pas que ce serait parce que les gens qui ont fait la base de données ont utilisé une valeur de 0 au lieu de null. Postez ceci comme une réponse s'il vous plaît et je vais le marquer comme accepté. – AaronLS