Dynamics crm 2011 如何在CRM 2011中使用LinkEntity连接两列?

Dynamics crm 2011 如何在CRM 2011中使用LinkEntity连接两列?,dynamics-crm-2011,crm,Dynamics Crm 2011,Crm,我使用链接实体连接两个实体: LinkEntity pricelevelentity=新的LinkEntity; pricelevelentity.JoinOperator=JoinOperator.Internal; pricelevelentity.LinkFromEntityName=产品; pricelevelentity.LinkFromAttributeName=productid; pricelevelentity.LinkToEntityName=productpriceleve

我使用链接实体连接两个实体:

LinkEntity pricelevelentity=新的LinkEntity; pricelevelentity.JoinOperator=JoinOperator.Internal; pricelevelentity.LinkFromEntityName=产品; pricelevelentity.LinkFromAttributeName=productid; pricelevelentity.LinkToEntityName=productpricelevel; pricelevelentity.LinkToAttributeName=productid; query.linkenties.Addpricelevelentity; 上面是ProductId属性上的Product和ProductPriceLevel连接。我还想添加到ProductPriceLevel.DefaultUomId上的join Product.uomid


如何执行此操作?

如果您试图为链接/联接的实体返回一个列,以便能够在客户端执行附加筛选,则LinkEntity有一个您应该使用的列属性,例如:

新QueryExpressionproduct { ColumnSet=新ColumnSetoumid, 联系= { 新LinkEntityproduct、productpricelevel、productid、productid、JoinOperator.Inner { Columns=新ColumnSetdefaultuomid } } };
如果您试图为链接/联接的实体返回一列,以便能够在客户端执行附加筛选,则LinkEntity有一个应使用的列属性,例如:

新QueryExpressionproduct { ColumnSet=新ColumnSetoumid, 联系= { 新LinkEntityproduct、productpricelevel、productid、productid、JoinOperator.Inner { Columns=新ColumnSetdefaultuomid } } };
不确定James的答案是如何标记为答案的,但不能使用链接实体连接多个列。您可以使用James的答案返回这两个值,并在客户端执行连接,但CRM不支持这种类型的连接:

从A.OneId=B.OneId和A.TwoId=B.TwoId上的内部联接B中选择* 如果您知道产品UomId的值,您可以将其添加到where子句中,尽管:

var qe=新的QueryExpressionproduct; var productPriceLevel=新的LinkEntityproduct、productPriceLevel、productid、productid、JoinOperator.Inner; qe.linkenties=产品价格级别; productPriceLevel.LinkCriteria.AddConditiondefaultuomid,ConditionOperator.Equal,product.UomId; 实际上是这样的:

从A.OneId=B.OneId和B.TwoId=10上的内部联接B中选择*——您要查找的单个A.TwoId值的值。
不确定James的答案是如何标记为答案的,但不能使用链接实体连接多个列。您可以使用James的答案返回这两个值,并在客户端执行连接,但CRM不支持这种类型的连接:

从A.OneId=B.OneId和A.TwoId=B.TwoId上的内部联接B中选择* 如果您知道产品UomId的值,您可以将其添加到where子句中,尽管:

var qe=新的QueryExpressionproduct; var productPriceLevel=新的LinkEntityproduct、productPriceLevel、productid、productid、JoinOperator.Inner; qe.linkenties=产品价格级别; productPriceLevel.LinkCriteria.AddConditiondefaultuomid,ConditionOperator.Equal,product.UomId; 实际上是这样的:

从A.OneId=B.OneId和B.TwoId=10上的内部联接B中选择*——您要查找的单个A.TwoId值的值。
我认为这个标题有点误导,我认为Kartik只是想从每个实体中得到一个专栏。而不是两列的连接。@JamesWood我同意标题很难弄清楚。我希望我的编辑能让它更清楚,但话说回来,也许OP是想问你回答的问题……我认为你的编辑与标题相符,而且更容易理解,我只是不确定它是否真的代表了OP真正想知道的。但这种混乱通常是由于措辞不当的问题造成的。@JamesWood我会在评论中询问OP。我认为标题有点误导,我认为Kartik只是想从每个实体那里得到一个专栏。而不是两列的连接。@JamesWood我同意标题很难弄清楚。我希望我的编辑能让它更清楚,但话说回来,也许OP是想问你回答的问题……我认为你的编辑与标题相符,而且更容易理解,我只是不确定它是否真的代表了OP真正想知道的。但这种混乱通常是由于措辞不当造成的。@JamesWood我会在评论中询问OP。你是问如何通过两个不同的列连接两个实体,还是问如何从连接的实体返回列?你是问如何通过两个不同的列连接两个实体,或者您的问题是关于从关联实体返回列?