Microsoft CRM高级开发人员的扩展使我对他们对CRM Web服务的呼叫的早期约束感到有些宠坏。

我现在正在编写一个插件,我想访问预图像中定义的属性。所有示例都将预映射命名为Microsoft.xrm.sdk.entity,使用后期绑定来访问其属性。我不喜欢将所有这些字符串用于属性名称中的硬编码到我的插件中,并想找到一种通过使用早期绑定来避免它的方法。

这是演员的示例

var preMessageImage = (Microsoft.Xrm.Sdk.Entity)context.PreEntityImages["MyPreImage"]; 

但是我必须使用较晚的绑定来访问属性

var myProperty = preMessageImate.Properties["MyProperty"];

是否有任何方法可以将此预先映射到具有使用早期绑定定义的所有属性的XRM对象,以便我不必进行所有属性名称?

有帮助吗?

解决方案

您应该首先使用SDK中的CRMSVCUTIL工具来生成“早期” XRM实体,并将该代码文件包含在插件代码库中。

我建议省略“ datacontextname”命令行arg,以便生成上下文。

有关更多信息,请在此处查看MSDN: MSDN上的crmsvcutil

接下来,您应该使用 ToEntity<T> 实体类中的方法以获得强大的特定实体。更多信息在这里: MSDN上的TOENTITY

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top