Question

J'ai 2 listes et je dois savoir s'il y a des matchs. Je l'ai essayé d'utiliser request.Interests.Intersect(x.Post.Tags.Split(' ')).Count() > 0 mais je reçois l'erreur

  

System.NotImplementedException: La   Procédé Intersection n'a pas été mis en œuvre.

Alors, j'ai essayé une fonction récursive qui retourne un bool. Et c'est comme si l'appel de fonction est simplement ignoré.

Voici ma fonction

private bool GenerateInterestsExpression(string postTags, string[] interests)
        {
            if (interests.Length == 0)
                return false;

            string interest = interests[0];

            var newInterests = interests.ToList();
            newInterests.Remove(interest);

            return GenerateInterestsExpression(postTags, newInterests.ToArray()) || postTags.ToLowerInvariant().IndexOf(interest.ToLowerInvariant()) >= 0;
        }

voici ce que la pièce pertinente de mon apparence d'expression LINQ comme.

request.Profile.Tags.Count == request.Interests.Length

                                        ||

                                        (
                                            request.Profile.Tags.Count != request.Interests.Length

                                            &&

                                            x.Post.Tags != String.Empty

                                            &&

                                            (
                                                GenerateInterestsExpression(x.Post.Tags, request.Interests)
                                                                                           )
                                        )

Lorsque GenerateInteresExpression a un point d'arrêt en elle, il ne mette pas en pause. J'ai essayé la construction d'une fonction récursive pour construire l'expression à la volée, mais je ne peux pas comprendre comment enchaîner les expressions LINQ ensemble. Toutes les idées sur la façon d'y arriver avec LINQ dynamique pour LINQ to NHibernate?

Était-ce utile?

La solution

Je devais changer d'utiliser HQL et construire dynamiquement la requête HQL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top