2

CRM に対して実行する必要があるクエリがあります。これは、SQL の次のものと同等です。

SELECT A.*, B.*
FROM Table1 A INNER JOIN Table2 B
ON A.ID = B.ID

次のようにクエリを作成し、リンクエンティティを追加しました。

link.JoinOperator = JoinOperator.Inner;
link.LinkFromEntityName = EntityName.new_Table1.ToString();
link.LinkFromAttributeName = "new_Table1ID";
link.LinkToEntityName = EntityName.new_Table2.ToString();
link.LinkToAttributeName = "new_Table2ID";
query.LinkEntities = new LinkEntity[] { link };

ただし、new_Table1 の列のみが返されます。

この方法でリンクし、2 つのクエリを作成せずに両方のエンティティから columnns を返す方法はありますか?

4

2 に答える 2

0

LinqtoCRMも使用できます。systemusers のロールを取得するクエリは次のようになります。

var res = from u in p.Linq()
        join sr in p.Linq() on u.systemuserid.Value equals sr.systemuserid.Value
        join r in p.Linq() on sr.roleid.Value equals r.roleid.Value
        select new { u.fullname, r.name };

これは、通常の関係と (CRMMetal を使用した) 多対多の関係の両方で機能します。ここで Web キャストを視聴できます。

于 2009-03-08T09:40:43.333 に答える