当我链接注释到特定的实体,而不是创造像这样的关系:获得一个早期绑定关系
var associateRequest = new AssociateRequest
{
Target = new EntityReference(SalesOrder.EntityLogicalName, salesOrderGuid),
RelatedEntities = new EntityReferenceCollection
{
new EntityReference(Annotation.EntityLogicalName, noteGuid),
},
Relationship = new Relationship("SalesOrder_Annotation")
};
是否有可能引用一个强类型方式的关系:
var associateRequest = new AssociateRequest
{
Target = new EntityReference(SalesOrder.EntityLogicalName, salesOrderGuid),
RelatedEntities = new EntityReferenceCollection
{
new EntityReference(Annotation.EntityLogicalName, noteGuid)
},
Relationship = SalesOrder.Relationships.SalesOrder_Annotation // <----- ???
};
这将是类似能够得到logicalname在开发时间:
SalesOrder.EntityLogicalName
我们可以参考具体的1:N的关系一样:
SalesOrder.Relationships.SalesOrder_Annotation
'SalesOrder.Relationships.SalesOrder_Annotation'返回的类型是什么?如果它不是“关系”,那么不是,你不能称它。我不得不问,因为'SalesOrder.Relationships.SalesOrder_Annotation'不可用使用标准的CrmSvcUtil.exe代码gen工具 - 所以它非常自定义。 – Nicknow
是否使用可使用entity.relationship名称或类似方法调用的crmsvcutil可用的任何关系? –
不是。你将不得不创建一个扩展来生成具有关系名称的'const'或'readonly'字符串。或者写一个方法从'CrmSvcUtil.exe'输出的代码属性中读取关系名称。 – Nicknow