Abrufen von eindeutiger Datensätze mithilfe von Query-Expression in Microsoft CRM 2011

Ich habe einen Zweifel in das abrufen der Datensätze in CRM 2011 mithilfe von C# RetrieveMultiple-Methode im web service.

Ich abrufen müssen eindeutige Datensätze aus einer Entität basiert auf einem Attribut-Wert(primary key). Ich bin in der Lage zu erreichen dies, indem mithilfe des folgenden Codes

QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1");
query.Distinct = true;
EntityCollection result1 = serviceProxy.RetrieveMultiple(query);

Ausgabe:

primarycolumn  column1
xyz            1
lmn            2 

Diese zeigt eindeutige Datensätze. Aber wenn ich paar mehr Spalten, um die ColumnSet geben, die Ergebnisse nicht unterscheidbar sind. Dies wird im folgenden code

QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1", "column2");
query.Distinct = true;
EntityCollection result1 = serviceProxy.RetrieveMultiple(query);

Ausgabe:

primarycolumn  column1 column2 
xyz            1        a        
xyz            1        b 
lmn            2        a

Ich brauche das Ergebnis Verschieden zu sein, nur basierend auf der primären Spalte.

Bitte helfen Sie mir, wie dies zu erreichen.


  • Weitere Informationen auf die oben genannte Frage.

Tatsächlich, der code ist in C#. Die Tabelle unten zeigt die Tabelle die ich Abfragen

**Primary
column    Column1              Column2             Column3<br/>**



Xyz            Value1              Value1               Value1 <br/>
Xyz            Value2              Value2               Value2<br/>
Lmn            Value1              Value1               Value1<br/>
Lmn            Value2               Value2              Value2<br/>
Xyz            Value1              Value1              Value1<br/>
Lmn                      Value1             Value1               Value1<br/>

Das Ergebnis der Abfrage sollte wie folgt Aussehen. Wo nur die primären Spalten unterschiedliche Werte betrachtet werden müssen, und alle anderen Spalten können entweder unterscheiden oder nicht unterscheiden. Jeder eine Zeile der unterschiedliche Wert der primären Spalte nur angezeigt werden soll.

(This is the output I am trying to achieve)<br/>
**Prmrycolumn   Column1 Column2 Column3<br/>**
Xyz Value1  Value1  Value1<br/>
Lmn Value1  Value1  Value1<br/>

Den code unten gibt die folgende Ausgabe

     QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1");

    query.Distinct = true;
    EntityCollection result1 = serviceProxy.RetrieveMultiple(query);

    **Primary column    Column1**<br/>
    Xyz Value1<br/>
    Lmn Value1<br/>

Aber wie ich mehrere Spalten hinzufügen, um die ColumnSet geben, der Ausgang ist angesichts unterschiedlicher Werte von anderen Spalten auch

QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1", "column2");
query.Distinct = true;
EntityCollection result1 = serviceProxy.RetrieveMultiple(query);

**Primary
column  Column1 Column2 Column3<br/>**
Xyz Value1  Value1  Value1<br/>
Xyz Value2  Value2  Value2<br/>
Lmn Value1  Value1  Value1<br/>
Lmn Value2  Value2  Value2<br/>

ctually, der code ist in C#. Die Tabelle unten zeigt die Tabelle die ich Abfragen

**Primary
column    Column1              Column2             Column3<br/>**



Xyz            Value1              Value1               Value1 <br/>
Xyz            Value2              Value2               Value2<br/>
Lmn            Value1              Value1               Value1<br/>
Lmn            Value2               Value2              Value2<br/>
Xyz            Value1              Value1              Value1<br/>
Lmn                      Value1             Value1               Value1<br/>

Das Ergebnis der Abfrage sollte wie folgt Aussehen. Wo nur die primären Spalten unterschiedliche Werte betrachtet werden müssen, und alle anderen Spalten können entweder unterscheiden oder nicht unterscheiden. Jeder eine Zeile der unterschiedliche Wert der primären Spalte nur angezeigt werden soll.

(This is the output I am trying to achieve)<br/>
**Prmrycolumn   Column1 Column2 Column3<br/>**
Xyz Value1  Value1  Value1<br/>
Lmn Value1  Value1  Value1<br/>
The below code gives the following output

QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1");
query.Distinct = true;
EntityCollection result1 = serviceProxy.RetrieveMultiple(query);

**Primary column    Column1**<br/>
Xyz Value1<br/>
Lmn Value1<br/>

Aber wie ich mehrere Spalten hinzufügen, um die ColumnSet geben, der Ausgang ist angesichts unterschiedlicher Werte von anderen Spalten auch

QueryExpression query = new QueryExpression("entityname");
query.ColumnSet.AddColumns("primarycolumn", "column1", "column2");
query.Distinct = true;
EntityCollection result1 = serviceProxy.RetrieveMultiple(query);

**Primary
column  Column1 Column2 Column3<br/>**
Xyz Value1  Value1  Value1<br/>
Xyz Value2  Value2  Value2<br/>
Lmn Value1  Value1  Value1<br/>
Lmn Value2  Value2  Value2<br/>
  • Können Sie erklären, ein bisschen mehr auf das, was Sie sind versuchen zu tun? Wenn Sie Abfragen, indem Sie eine primary key, warum sollten es mehrere Werte eines Datensatzes? sind Sie auf Abfragen, die durch eine foreign key? in dem Fall letzteres ist richtig, wie die Ergebnisse anders sind als Spalte 1 und 2 unterschiedlich sind? Ich sehe auch nicht ein, einen filter auf die Abfrage zu filtern, indem die Fremd - / Primärschlüssel. Können Sie nach dem aktuellen code?
InformationsquelleAutor Palani Babu | 2011-12-07
Schreibe einen Kommentar