CRM 2011无法检索自定义字段C#中的加密字符串

时间:2014-04-24 10:11:55

标签: c# encryption dynamics-crm-2011

我在这里面临一个奇怪的情况:

我有一个自定义实体“My_Entity”,我在表单保存事件Javascript上使用了CryptoJS来加密两个字段field1,field2。这些字段已加密,然后保存在DB中。

现在我想在Cutom页面C#中重新检索两个字段以解密并显示在页面上:

我有一个检索多个查询:

       QueryExpression retrievquery = new QueryExpression("My_Entity");
       retrievquery.ColumnSet = new ColumnSet(new string[]{"field1","field2"});
       EntityCollection AllRecords = Common.Common.RetrieveMultiple(retrievquery );

现在

Entity Legal= AllRecord.Entities[0];

Legal不包含field1和field2,只包含记录的GUID。加密文本是否存在任何问题。

2 个答案:

答案 0 :(得分:1)

您需要访问Entities对象的EntityCollection集合。

尝试

Entity Legal = AllRecords.Entities[0];

最好先检查一下你是否至少有一个元素:

if (AllRecords.Entities.Count > 1) { ... }

答案 1 :(得分:-1)

我不知道问题是什么,

但我检查了数据库,并且有必填字段为NULL的记录。 我通过使用删除查询删除了DB中的所有垃圾记录。

然后我检索并且工作正常。 :) 所以真正的问题是具有必需字段NULL的记录。在Field是必需之前,NULL已插入到DB中。 希望这有助于某人。

我想到了这个想法,因为昨天我运行了升级到CRM 2013的自定义验证工具,但它没有检索任何CRM记录。然后我谷歌它,它说会有NULL WebResources。