Dynamics CRM - 不同类型字段在 Plugin 里的赋值方式
在编写 Plugin 代码之前,我们可以需要用 SDK bin 目录下的 CrmSvcUtil.exe 来将 CRM Site 上所有的 Entity 转换成类,而 Entity 里的 Field 也转换成了属性,最后导出到一份 .cs 文件可以让我们在 Plugin 项目里引用。
Note: 利用 cmd 进入 SDK 的 bin 目录,运行以下命令即可得到生成文件(生成文件同样位于 bin 目录下)。
CrmSvcUtil.exe /url:"IP 地址/CRM Organization Name/XRMServices/2011/Organization.svc" /out:生成文件名.cs /username:"AD域服务器用户名" /password:"AD服务器密码" /domain:"AD服务器的域名" /namespace:生成文件的命名空间 /serviceContextName:XrmServiceContext
下面列一下 Dynamics CRM 不同类型 Field 的转换结果,以及在 Plugin 里的赋值方式:
CRM Field 类型 | 转换后的属性类型 | 赋值方式 |
Single Line of Text / Mutiple Lines of Text |
string | 字符串,eg: "abc" |
Option Set | OptionSetValue | new OptionSetValue(75140000),括号里填的是对应 option item 的 value,是一个 int 整数。 |
Two Options | bool | true / false |
Whole Number | int | int 整数,eg: 10 |
Decimal Number | decimal | decimal 浮点数,eg: 10m |
Date and Time | Date Time | 日期,eg: DateTime.Today.ToUniversalTime() |
Lookup | EntityReference | lookup 是查找型字段,会指向所查找的 Record,所以应该赋一个 EntityReference 对象给它。eg: new EntityReference(lookup record EntityLogicalName, lookup record Id) |