J'ai une requête comme:Linq au comptage des requêtes Entity Framework 4, mais pas le retour des résultats
var fooQuery = (from x in edm.stuff where x.col == DesiredVal select x)
'stuff' est une vue. Quand je compte les résultats, j'obtiens '1'. Quand je First() ou FirstOrDefault() j'obtiens null.
var fooCount = fooQuery.Count(); // results in 1
var fooResult = fooQuery.FirstOrDefault(); // results in null
Cela n'a pas de sens pour moi. Y at-il une circonstance que ce devrait se produire?
Eh bien, je ne pense pas que ce soit possible. Essayez d'examiner SQL résultant. Je pense que le problème est ailleurs. –
Oui, cela semble étrange. Avez-vous essayé Any(), Single(), ToList()? Que retournent-ils? – Yakimych
Comme il s'agissait d'une vue, j'avais des index arbitraires et j'avais construit une relation et une propriété de navigation sur la colonne (qui était nvarchar). La colonne de la vue provenait d'une jointure externe, et était donc parfois nulle et, lorsqu'elle ne l'était pas, elle n'était pas toujours présente dans la table normale adjacente (créée via le concepteur d'entité). Je pouvais compter que c'était là, mais je ne pouvais pas le récupérer avec First() ou Any(). Je n'ai pas essayé les autres. C'est évidemment un cas marginal. Serait-ce un bug? Peut-être que je devrais construire un exemple. – DrydenMaker