Microsoft CRM高级开发人员扩展程序让我对他们对CRM的Web服务调用的早期绑定有点不满.
我正在写一个插件,我想访问前映像中定义的属性.所有示例都将preimage转换为Microsoft.Xrm.Sdk.Entity,它使用后期绑定来访问它的属性.我不喜欢将属性名称的所有字符串硬编码到我的插件中,并希望找到一种通过使用早期绑定来避免它的方法.
这是一个演员的例子
var preMessageImage = (Microsoft.Xrm.Sdk.Entity)context.PreEntityImages["MyPreImage"];
Run Code Online (Sandbox Code Playgroud)
但我必须使用后期绑定来访问属性
var myProperty = preMessageImate.Properties["MyProperty"];
Run Code Online (Sandbox Code Playgroud)
有没有办法将这个preimage转换为具有使用早期绑定定义的所有属性的xrm对象,所以我不必硬编码所有的属性名称?
您应首先使用SDK中的crmsvcutil工具生成"早期绑定"Xrm实体,并在插件代码库中包含该代码文件.
我建议省略'DataContextName'命令行arg,这样就不会生成上下文.
有关更多信息,请参阅MSDN上的:MSDN上的CrmSvcUtil
接下来,您应该使用ToEntity<T>Entity类上的方法来获取强类型的特定实体.更多信息:MSDN上的ToEntity
| 归档时间: |
|
| 查看次数: |
1552 次 |
| 最近记录: |