2011-10-26 100 views
0

我试图在2011年CRM运行此查询:CRM 2011 ActivityPointer早期生成的类型生成不正确?

var activity = (from a in crmService.ActivityPointerSet 
       where a.StateCode == ActivityPointerState.Open && 
         a.ActivityTypeCode == "4201" 
       select a).First(); 

但我得到这个错误:

Microsoft.Crm.Metadata.EntityMetadataNotFoundException: The entity with a name = '4201' was not found in the MetadataCache 

与FilteredActivityPointer数据库视图检查后,我注意到,该列被定义为int,不是一个字符串。我手动编辑生成的类,将字符串更改为属性上的int,并且它工作得很好。

在早期绑定类型生成器(CrmSvcUtil.exe)中是否存在一个错误,或者我是否以某种方式创建它是错误的?

编辑:经过一些更多的测试后,它看起来像ActivityTypeCode期待字符串“约会”。不知道为什么它在数据库中显示不同,但...

回答

2

我想他们已经这样做了,因为ObjectTypeCodes不能保证在不同的部署(如果你有多个部署)是相同的。

通过使用“任务”,“约会”或“电子邮件”(等),没有歧义。

我同意它似乎有点奇怪,但!

相关问题