Frage

Ich versuche, Daten durch die EntityReference ohne Glück zu filtern. Ohne die Klausel ist es gut mit der Klausel, die ich den folgenden Fehler erhalte:

Der Server gab keine aussagekräftige Antwort; Dies kann durch eine Vertragsfehlanpassung, eine vorzeitige Sitzung oder ein interner Serverfehler verursacht werden.

Hier ist meine Methode, die den CRMService nennt:

/// <summary>
        /// Gets the categories.
        /// </summary>
        /// <returns></returns>
        public IEnumerable<category> GetCategoriesExcludingSomething()
        {
            IEnumerable<category> data = CrmClient.categorySet.OrderBy(x => x.SubCategory).ThenBy(x => x.itf_name);

            return data.Where(x => x.SubCategory.ToString() == "SomethingToExclude");
        }

Ich habe auch versucht, Unterkategorie zu verwenden. NAME, aber es gibt den gleichen Fehler. Ich denke, es hängt mit der Tatsache zusammen, dass es frühbindung oder etwas in dieser Richtung verwendet, aber ich konnte beim Debuggen keine nützlichen Informationen erhalten.

Jeder Rat oder jede Hilfe wäre großartig, dies sollte einfach sein:/

War es hilfreich?

Lösung

Nach dieser Dokumentation: http://technet.microsoft.com/en-us/library/gg328328.aspx

Der LINQ -Abfrageanbieter unterstützt eine Teilmenge der LINQ -Operatoren. Nicht alle Bedingungen, die in LINQ ausgedrückt werden können, werden unterstützt.

Sortieren nachUnterstützt die Bestellung durch Entitätsattribute wie contact.fullname.

Sie könnten zuerst die Where -Klausel verwenden und dann die Methode Tolist () verwenden. Danach haben Sie eine Sammlung von Daten, über die Sie alle gemeinsamen LINQ -Abfragen verwenden können.

Außerdem ist der Versuch, eine Entitätsreferenz zu bestellen, nicht der gute Weg, dies zu tun. Sie sollten versuchen, so zu bestellen:

OrderBy(x => x.SubCategory.Id)

wo: Die linke Seite der Klausel muss ein Attributname sein und die rechte Seite der Klausel muss ein Wert sein. Sie können die linke Seite nicht auf eine Konstante setzen. Beide Seiten der Klausel können nicht Konstanten sein. Unterstützt die String -Funktionen enthält, starten, endswith und gleich

Was Sie hier tun können, ist entweder die Werte nach der ID oder nach dem Namen (das sind die einzigen relevanten Informationen, die Sie in diesem Fall von der EntityReference erhalten).

Where(x => x.SubCategory.Name == "CategoryNameToExclude");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top