2017-04-12 7 views
1

わかっているように、Dynamics CRMには特定の属性値があります。顧客。この値は、クライアントとアカウントのエンティティが結合されていますが、私はブラインドであるか、MSDNにはクエリのこのフィールドの取得に関する仕様がありません。たとえば :Dynamics CRMのカスタマエンティティの取得2016

QueryByAttribute query = new QueryByAttribute(entName); 
query.ColumnSet = new ColumnSet(new String[] { searchAttr }); 
query.Attributes.Add(searchAttr); 
query.Values.Add(searchValue); 

EntityCollection retrived = service.RetrieveMultiple(query); 

このコードは、エンティティ名を受け入れ、属性の名前と値を検索しますが、私はそれを実行したとき、私は私が私のDataSouceから取得するエンティティの種類を知りません:クライアントまたはアカウント。 質問は、1つのクエリでCustomerエンティティを取得できるかどうかです。

+1

チェック '各レコード – Alex

+0

はいの.LogicalName'を。私は今それをやっている。しかし、私は思っています:おそらく、このタイプで作業する特定の方法がありますか? –

+0

私は知らないよ – Alex

答えて

5

いいえ、まず、取得しようとしているエンティティを知っている必要があります。


EntityReferenceとしてカスタマー・フィールド内に保持された値を取得します。

var customer = entity.GetAttributeValue<EntityReference>("customerid"); 

EntityReferenceLogicalName取得:

var customerEntity = customer.LogicalName; 
+0

ありがとう。生のデータを扱い、私が得るクライアントの種類がわからないので悲しいです。 –

+0

@KrivitskiyGrigoriy生データを扱うとはどういう意味ですか?あなたが '顧客 'データをExcelにエクスポートしている場合は、顧客タイプ – jasonscript

+0

を取得することが可能でなければなりません。会社にはロシアのどこかに従業員がいます。彼は製品を顧客に販売したときに、携帯電話でファイルを書き出し、電子メールで本社に送付します。このメールが添付ファイルとしてメールサーバーにこのファイルを受信すると、CRMで作成された特定のテンプレートとレコードによって解析されます。それは現時点ではちょっと複雑です。 –

関連する問題